输入112x112x16
一般情况下卷积核为3x3x16x64,参数个数9216
计算量为3x3x112x112x16x64=115605504
mobilenet_v1:
使用两个卷积核替代原先的卷积核,分别是3x3x1x16和1x1x16x64,参数个数为1168
计算方法:
1、分别用16个3x3x1的卷积核分别对112x112x16的16个通道做卷积(类似对16张单通道图像做卷积,产生16个输出),输出为(112-3+2*padding)/s+1,一般情况下padding为1,输出为112x112x16
2、分别用64个1x1x16的卷积核对上一步的输出做卷积(与一般情况下的卷积计算方法相同),输出为(112-1+2*padding)/s+1,一般情况下padding为0,输出为112x112x64
计算量:
1、3x3x112x112x16=1806336
2、1x1x112x112x16x64=12845056
3、总计14651392
115605504/14651392=7.89
宽度因子和分辨率因子
宽度因子(a)即改变上文卷积核个数,使得模型更小,即上面3x3x1x16中的16和1x1x16x64中的16和64,如宽度因子为1,则num_filters为16,如宽度因子为0.5,则num_filters为8,一般取值范围为(0,1]
加上宽度因子(假设为0.5)后计算量为:
1、3x3x112x112x16xa=903168
2、1x1x112x112x16ax64a=3211264
3、共计4114432
115605504/4114432=28.1
分辨率因子(b)就是通过减小输入层的大小,使计算量减小,一般情况下,mobilenet的输入为224x224x3,加上分辨率因子后,输入的大小变为224bx224bx3
mobilenet_v2与v1类似,只是在前面加了一个1x1的卷积核,先升维,再使用3x3的卷积核进行卷积计算,然后通过1x1的卷积核进行降维