Github 项目推荐 | 论文的代码实现:可变形ConvNets v2的PyTorch实现

2019 年 1 月 10 日 AI研习社

本项目包含基于论文《Deformable ConvNets v2: More Deformable, Better Results(可变形的ConvNets v2:可变形性越强,效果更加好)》,用PyTorch实现的可变形ConvNets v2(经过调制的可变形卷积)代码。项目基于ChunhuanLin / deform_conv_pytorch的可变形卷积的实现,感谢ChunhuanLin。

访问本文链接内容,请点击文末【阅读原文

  项目地址:

https://github.com/4uiiurz1/pytorch-deform-conv-v2


  论文地址:(提醒:需要科学地使用网络进行访问)

https://arxiv.org/abs/1811.11168


  TODO

 基于论文的可变形卷积的初始化权值

 将偏移量和调制的学习率设置为与其他层不同的值

 标度mnist实验结果

 支持不同的步伐

 DeepLab + DCNv2

 VOC分割实验的结果


  环境要求

  • Python 3.6

  • PyTorch 1.0

  使用方法

用调制变形卷积替换掉常规卷积(模型的conv2如下):

class ConvNet(nn.Module):
 def __init__(self):
     self.relu = nn.ReLU(inplace=True)
     self.pool = nn.MaxPool2d((2, 2))    
     self.avg_pool = nn.AdaptiveAvgPool2d(1)
     
     self.conv1 = nn.Conv2d(3, 32, 3, padding=1)    
     self.bn1 = nn.BatchNorm2d(32)    
     self.conv2 = nn.DeformConv2d(32, 64, 3, padding=1, modulation=True)    
     self.bn2 = nn.BatchNorm2d(64)  
       
     self.fc = nn.Linear(64, 10)  
     
 def forward(self, x):
     x = self.relu(self.bn1(self.conv1(x)))
     x = self.pool(x)
     x = self.relu(self.bn2(self.conv2(x)))

     x = self.avg_pool(x)
     x = x.view(x.shape[0], -1)
     x = self.fc(x)
 
     return x


  训练

ScaledMNIST

ScaledMNIST是一种随机缩放的MNIST。

在conv3~4使用调制变形卷积训练:

python train.py --arch ScaledMNISTNet --deform True --modulation True --min-deform-layer 3

在conv3~4使用可变形卷积训练:

python train.py --arch ScaledMNISTNet --deform True --modulation False --min-deform-layer 3

只用常规卷积训练:

python train.py --arch ScaledMNISTNet --deform False --modulation False


  结果

ScaledMNIST

下表:Model:模型,Accuracy:精确度,Loss:损失


【AI求职百题斩 - 每日一题】

赶紧来看看今天的题目吧!

想知道正确答案?

点击今日推文【第4条】或 在公众号回复“0110挑战”即可答题获取!

点击阅读原文,查看本文更多内容

登录查看更多
22

相关内容

还在修改博士论文?这份《博士论文写作技巧》为你指南
近期必读的7篇 CVPR 2019【视觉问答】相关论文和代码
专知会员服务
33+阅读 · 2020年1月10日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
84+阅读 · 2019年12月27日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
159+阅读 · 2019年10月28日
PyTorch语义分割开源库semseg
极市平台
25+阅读 · 2019年6月6日
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
用PyTorch实现各种GANs(附论文和代码地址)
Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
AI研习社
22+阅读 · 2018年3月7日
SlowFast Networks for Video Recognition
Arxiv
19+阅读 · 2018年12月10日
Arxiv
7+阅读 · 2018年5月21日
Arxiv
8+阅读 · 2018年5月15日
VIP会员
Top
微信扫码咨询专知VIP会员