深度神经网络学习笔记----MobileNet、MobileNet_v2、MobileNet_v3

本文介绍了MobileNet及其进化版MobileNet_v2和_v3的关键特性。MobileNet主要采用深度可分离卷积降低参数数量,_v2引入了inverted_res_block和Linear bottlenecks,进一步提升性能。内容包括各版本的结构解析、卷积操作及 stride 的应用。
摘要由CSDN通过智能技术生成

1、MobileNet

https://www.bilibili.com/video/BV1mJ411d7dG?p=9
https://blog.csdn.net/weixin_44791964/article/details/102819915
MobileNet是一种轻量级的神经网络。其中一个重要的结构是深度可分离卷积。区别于原始的卷积操作:
原始的卷积操作当输入的shape 为:w×h×c,用n个filter进行卷积,要求filer的通道数必须是c那么输出的通道数就是n。
而对于MobileNet,当输入shape为w×h×c,输入有多少个通道数,就需要几个filter,通道数为1,对输入按通道依次进行卷积。输出c个特征图,在对特征图进行融合之前,再用n个1*1的filter对特征图进行卷积,得到通道数为n的特征。

当输如的通道数为16,filter的大小为3*3,输出的通道数为32
每一次卷积两个网络的参数个数分别为:
原始卷积网络的参数个数为16×3×3×32=4608
MobileNet参数的个数为16×3×3+16×32×1×1=656

MobileNet大大减少了参数的个数。
MobileNet能够减少网络参数的原因:
1、使用了深度可分离卷积
2、用平均池化层代替了全连接层

2、MobileNet_v2

和MobileNet网络相比, MobileNet_v2网络增加了

  1. inverted_res_block
  2. Linear bottlenecks

代码如下:

def MobileNetV2(input_shape=[224,224,3],
                alpha=1.0,
                include_top=True,
                classes=4):

    rows = input_shape[0]

    img_input = Input(shape=input_shape)

    # stem部分
    # 224,224,3 -> 112,112,32
    first_block_filters = _make_divisible(32 * alpha, 8)
    x = ZeroPadding2D(padding=correct_pad(img_input, 3),
                      name='Conv1_pad')(img_input)
    x = Conv2D(first_block_filters,
                      kernel_size=3,
                      strides=(2, 2),
                      padding='valid',
                      use_bias=False,
                      name='Conv1')(x)
    x = BatchNormalization(epsilon=1e-3,# 设置大于0的小浮点数,防止除数为0
                           momentum=0.999,# 动态均值的动量
                           name='bn_Conv1')(x)
    x = Activation(relu6, name='Conv1_relu')(x)# ReLU6最大值为6

    # 112,112,32 -> 112,112,16
    x = _inverted_res_block(x, filters=16, alpha=alpha, stride=1,
                            expansion=1, block_id=0)

    # 112,112,16 -> 56,56,24
    x = _inverted_res_block(x, filters=24, alpha=alpha, stride=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值