mobilenet 网络结构解析

mobilenet 网络结构解析_第1张图片

1.普通的卷积操作

假设S=1,P=1,输入DF*DF*M ,卷积核是DK*DK*M*N ,输出是(DF-DK+3)*(DF-DK+3)*N .其中计算量是DK*DK*M*N*DF*DF

2.我们使用depthwise convolution,针对每个输入通道采用不同的卷积核,就是说一个卷积核对应一个输入通道

假设S=1,P=1.输入DF*DF*M ,卷积核是DK*DK*M ,输出是(DF-DK+3)*(DF-DK+3)*M .其中计算量是DK*DK*M*DF*DF

使用pointwise convolution,其实就是普通的卷积,只不过其采用1x1的卷积核

假设S=1,P=1.输入是(DF-DK+3)*(DF-DK+3)*M,卷积核是1*1*M*N,输出是(DF-DK+3)*(DF-DK+3)*N,其中计算量是1*1*M*N*(DF-DK+3)*(DF-DK+3)=M*N*(DF-DK+3)*(DF-DK+3)

所以采用深度分离卷积层操作比普通的卷积操作少了很多的参数

mobilenet 网络结构解析_第2张图片

先定义几个参数

  • 输入图片大小 W×W
  • Filter大小 F×F
  • 步长 S
  • padding的像素数 P

N=\frac{W-F+2*P}{S}+1

 

conv/s2 就是S=2 的普通卷积操作

conv dw /s1 就是S=1 的深层卷积操作(depthwise convolution)

conv/s1 就是s=1 的 pointwise convolution 

你可能感兴趣的:(深度学习)