无限未来
无限未来
> 和你的命令是一样的,我是通过VPN翻墙下载的 | | 董小栋 | | ***@***.*** | ---- Replied Message ---- | From | ***@***.***> | | Date | 8/11/2023 16:22 | | To | ***@***.***> | |...
> > > 和你的命令是一样的,我是通过VPN翻墙下载的 | | 董小栋 | | _**@**_.*** | ---- Replied Message ---- | From | _**@**_._**> | | Date | 8/11/2023 16:22 | | To | _**@**_.**_>...
> > > > > 和你的命令是一样的,我是通过VPN翻墙下载的 | | 董小栋 | | _**@**_.*** | ---- Replied Message ---- | From | _**@**_._**> | | Date | 8/11/2023 16:22 | | To...
> 如果 fpn 各层是 sum 的,可以在 "shortcuts" 配置里手动加一组 fpn 的 bn 名字 > > ```json > { > "names": [ > "fpn.norm1", > "fpn.norm2", > "fpn.norm3" > ], > "method":...
> resnet 每个 stage 最后一层 bn 前的 conv,在配置里把 "next_bn" 改成空字符串,这样输出的 channel 就不会变 感谢回答,我尝试了你的建议,修改了各个downsample前一层的next_bn,但是downsampling里面的batchnorm并未改变,请问该怎么做? 之前的: (layer1): ResLayer( (0): Bottleneck( (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1,...
> 感谢您的回答!现在我已可以跑通整个模型结构,是更改了fpn的输入尺寸和resnet的4个layer输出尺寸相同即可,然后还有一点疑问,就是slimpruner这个工具的参数移植在哪呀,而且我部分修改的网络从哪里进行筛选需要转移的参数,我知道需要大模型的剪枝部分的参数移植才能恢复较高的精度。 你好,请问你是直接修改了json文件里面的fpn的next_bn吗?
> 不用,删除json里fpn的4个256-->256的layer_block(注意inner_block不要删)和包含conv的rpn的结构(linear的不要删),然后在pns.py的218行左右的isinstance(module,Conv2d)后面增加判断条件筛选不需要剪枝的部分,比如 and name != 'backbone.fpn.layer_blocks.0'的四个以及rpn的三个,意思就是这些部分都不剪,总共只改输入的fpn的inner_layer的输入尺寸 > […](#) > ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年9月30日(星期四) 上午10:17 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [Sanster/pytorch-network-slimming] conv pruning issue (#7) 感谢您的回答!现在我已可以跑通整个模型结构,是更改了fpn的输入尺寸和resnet的4个layer输出尺寸相同即可,然后还有一点疑问,就是slimpruner这个工具的参数移植在哪呀,而且我部分修改的网络从哪里进行筛选需要转移的参数,我知道需要大模型的剪枝部分的参数移植才能恢复较高的精度。 你好,请问你是直接修改了json文件里面的fpn的next_bn吗? —...
> 不用,删除json里fpn的4个256-->256的layer_block(注意inner_block不要删)和包含conv的rpn的结构(linear的不要删),然后在pns.py的218行左右的isinstance(module,Conv2d)后面增加判断条件筛选不需要剪枝的部分,比如 and name != 'backbone.fpn.layer_blocks.0'的四个以及rpn的三个,意思就是这些部分都不剪,总共只改输入的fpn的inner_layer的输入尺寸 > […](#) > ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年9月30日(星期四) 上午10:17 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [Sanster/pytorch-network-slimming] conv pruning issue (#7) 感谢您的回答!现在我已可以跑通整个模型结构,是更改了fpn的输入尺寸和resnet的4个layer输出尺寸相同即可,然后还有一点疑问,就是slimpruner这个工具的参数移植在哪呀,而且我部分修改的网络从哪里进行筛选需要转移的参数,我知道需要大模型的剪枝部分的参数移植才能恢复较高的精度。 你好,请问你是直接修改了json文件里面的fpn的next_bn吗? —...
> > > 是的,4 里面的 pruned_model 直接finetune,然后保存到你喜欢的地方。5 是加载 finetune 好的剪枝模型的步骤,pruned_state_dict 需要你自己加载 4 里面 finetune 好的参数 > > > 所以就是其实步骤4就已经够了,5只是用来做迭代剪枝的创建模型的方式是吧。其实就是怕参数移植问题,我做了一些尺寸的修改,具体你可以看一下我回复dy1998的,我也是直接加载的原稀疏大模型,应该没问题吧。因为我这边精度恢复效果不太好,所以比较担心这点 > > 如果只剪 backbone 的话,稀疏化训练的正则也应该只应用到 backbone 的参数上,这里可能要改下。你是 finetune 了多少步呢?我之前是训 DBNet,语义分割作文本检测,0.5 的剪枝率(backbone+fpn+head都剪了)基本是无损的...
> > > > > 是的,4 里面的 pruned_model 直接finetune,然后保存到你喜欢的地方。5 是加载 finetune 好的剪枝模型的步骤,pruned_state_dict 需要你自己加载 4 里面 finetune 好的参数 > > > > > 所以就是其实步骤4就已经够了,5只是用来做迭代剪枝的创建模型的方式是吧。其实就是怕参数移植问题,我做了一些尺寸的修改,具体你可以看一下我回复dy1998的,我也是直接加载的原稀疏大模型,应该没问题吧。因为我这边精度恢复效果不太好,所以比较担心这点 > > > > > > >...