RMNet
RMNet copied to clipboard
RM Operation can equivalently convert ResNet to VGG, which is better for pruning; and can help RepVGG perform better when the depth is large.
你提供的两个百度链接都被和谐了
Pruning
作者可否将剪枝部分的代码也放出,对论文剪枝部分的内容和目前的代码还存在一些疑惑,感谢。
您好 我阅读您的代码,有一些问题和疑惑,希望您可以抽出宝贵的时间进行解答,感谢。 按照我的理解mask 是把不重要的权重置零,.slimming是真正的实现channel pruning。 slimming network论文是通过cfg记录网络结构,然后进行剪枝。rm方法通过RM操作去除ResNet的残差连接,deploy()后,再直接对ResNet18进行剪枝。 我想知道rm后的resnet,如何进行slimming剪枝。因为rm-Resnet.depooy()是不好进行调用cfg。
Hello, The weight file you shared with Baiduyun for both RMnet and RM-pruned net are expaired. Could you update the link for these weights? Thanks.
您好!我想对yolov5主干网络采用RM操作然后再采用slimming进行剪枝。我在网络中没有添加mask卷积操作(rmnet_pruning.py中采用),请问稀疏化训练是要添加在训练yolov5模型的时候还是在RM操作后再进行稀疏化训练,最后进行slimming进行剪枝?
您好!我在做RM的时候发现,conv输出进入BN输出有精度问题? ```代码部分 idconv1 = nn.Conv2d(self.in_planes, self.in_planes+self.mid_planes, kernel_size=3, stride=1, padding=1, bias=False).eval() idbn1 = nn.BatchNorm2d(self.in_planes+self.mid_planes).eval() # init dirac_ kernel weight, bias, mean var to idconv1 nn.init.dirac_(idconv1.weight.data[:self.in_planes]) bn_var_sqrt1 = torch.sqrt(self.running1.running_var + self.running1.eps) idbn1.weight.data[:self.in_planes]...
您好,请问conv_b为何等于这个数值?  融合卷积层和BN层的新的卷积层的偏置按照第二个式子那样的话,似乎和您这个代码中的差了个负号  然后还有  这个running_mean相加也不是很理解。
 你好,请问从mobilenetv2结构变为rmnetv1,Flops变少了?我测试的时候输入[32,32]的图片尺寸后,Flops变多了10多MFlops?
  您好,最近拜读了您的论文,基于目前的重参数化提出了新颖性的观点,想继续研究以下代码,但是发现输入相同的值,不知道为什么结构转换后输出不一样?
Hello, I am the developer of [MMClassification](https://github.com/open-mmlab/mmclassification). Some users find your great job and hope MMClassification to reproduce it in this [issue](https://github.com/open-mmlab/mmclassification/issues/517). Since we are relatively in a hurry in...