MobileNet-v1[2017-arXiv]

假设input的size为 3 x 64 x 64, output : 4 x 64 x 64.

常规卷积

                                                  

深度可分离卷积

     

量化对比

  • 参数量

      传统卷积:d x d x C_in x C_out ;

      深度可分离卷积 :d x d x C_in + C_out x 1 x 1 x C_in ;

      参数比[深度可分离:传统]:(d x d + C_out) / (d x d x C_out)  ≈ 1 / (d x d)  【if C_out  >>  d x d】 ;

  • 计算量

     传统卷积:d x d x C_in x C_out x H x W ;

     深度可分离卷积:d x d x C_in x H x W + C_out x 1 x 1 x C_in x H x W ;

     运算量比[深度可分离:传统] : (d x d + C_out) / (d x d x C_out)  = 1 / C_out + 1 / (d x d)  ≈ 1 / (d x d)  【if C_out  >>  d x d】

Pytorch

  • 常规卷积
nn.Conv2d(inplanes, planes, kernel_size=3, stride, 1, bias=False)
nn.BatchNorm2d(planes)
nn.PReLU(planes)
  • 深度可分离卷积 
nn.Conv2d(inplanes, planes, kernel_size=3, stride, 1, groups=planes, bias=False)
# groups的取值应为inplanes、planes的公约数,即能够被inplanes、planes同时整除
# inplanes/groups表示每个group中channel的个数;
# planes/groups表示group中channel被使用几次;
nn.BatchNorm2d(planes)
nn.PReLU(planes)
nn.Conv2d(planes, planes, 1, 1, 0, bias=False)

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值