1.MobileNet的模型结构:
(注意:在这节中BN这层先不加,后面的记录中会再加到)
2.将Inception block换成mobile block:
(1)因为是深度可分离卷积,所以称之为separable_cov_block:
参数中的输出通道数目是经过深度可分离卷积之后再经过1*1的卷积后的通道数目:
(2)去掉InceptionNet的实现:
(3)实现深度可分离卷积:
将每个通道都拆开,首先需要知道每个通道的数目:
调用tensorflow的api把通道拆开:
对每个通道去做卷积:
用一个列表去收集所有的输出:
拼接起来:
拼接后再经过一个1*1的卷积:
以上~一个可分离卷积的block就完成啦 ~
3.把之前InceptionNet中使用Inception block的地方
换成可分离卷积的block,就可以构建一个神经网络了:
以上~ 一个MobileNet就搭建好了 ~
4.训练结果: