mobileNetV1网络解析,以及实现(pytorch)(1)

本文详细解析了卷积运算中的FLOPs计算、不同类型的卷积(如标准卷积、分组卷积和深度可分离卷积)及其参数量,以及MobileNetV1网络结构中的应用。使用PyTorch为例,介绍了BottleneckV1模块和整体模型设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标准卷积运算量的计算公式:

F L O P s = ( 2 × C 0 × K 2 − 1 ) × H × W × C 1 {FLOPs }=\left(2 \times C_{0} \times K^{2}-1\right) \times H \times W \times C_{1} FLOPs=(2×C0​×K2−1)×H×W×C1​

计算公式参考:深度学习之(经典)卷积层计算量以及参数量总结 (考虑有无bias,乘加情况) - 琴影 - 博客园 (cnblogs.com)

参数量计算公式: K 2 × C 0 × C 1 K^{2} \times C_{0} \times C{1} K2×C0​×C1

C 0 C_{0} C0​ :输入的通道。

K:卷积核大小。

H,W:输出 feature map的大小

C 1 C_{1} C1​:输出通道的大小。

bias=False,即不考虑偏置的情况有-1,有True时没有-1。

举例:

输入的尺寸是227×227×3,卷积核大小是11×11,输出是6,输出维度是55×55,

我们带入公式可以计算出

参数量:

1 1 2 × 3 × 6 11^2 \times 3 \times 6 112×3×6=2178

运算量:

2 × 3 × 1 1 2 × 55 × 55 × 6 2 \times 3 \times11^{2}\times 55\times 55 \times 6 2×3×112×55×55×6=13176900

分组卷积

===============================================================

分组卷积则是对输入feature map进行分组,然后每组分别卷积。

假设输入feature map的尺寸仍为 C 0 × H × W C_{0}\times H \times W C0​×H×W,输出feature map的数量为 C 1 C_{1} C1​个,如果设定要分成G个groups&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值