Keras学习之:keras 自带的经典模型加载和使用(vgg-16,resnet,mobilenet,densenet等)

本文指导如何导入并灵活使用VGG-16模型,详解参数设置,包括weights选择、include_top选项,以及input_shape和pooling的调整技巧。不再为网络结构困扰,带你进入新世界。
  • 你还在为自己搭建网络结构而烦恼么
  • 你还在为自己找不到合适的网络做实验而苦闷么
  • 看完这篇文章,给你不一样的新世界

1. 模块导入

在这里插入图片描述
这里以 vgg-16 模块的导入和使用为例,给大家做简单的演示

from keras_applications import vgg16

2. 模型实例化

vgg_16 = vgg16.VGG16(input_shape=(224,224,3),
                     weights=None,
                     include_top=False,
                     backend=keras.backend,
                     layers=keras.layers,
                     models=keras.models,
                     utils=keras.utils)
  • 注意,在实例化网络的时候要以上面的方式添加参数,如果你按照下面的方式创建网络,会报错:AttributeError: ‘NoneType’ object has no attribute 'image_data_format’

在这里插入图片描述

  • 如果你的 weight 不设置为 None,那么系统会自动从网上给你下载 vgg-16的参数,巨巨巨巨大。所以建议 weight=None

  • include_top 又是个什么东西呢?其实就是包不包含 vgg-16 的全连接层部分,因为全连接层部分的参数众多,而且主要是用来分固定的类,所以如果你想自己设计全连接层的样式,并训练 vgg-16 让他来分特定的几类,就可以 include_top=False 下面给大家展示一下区别
    在这里插入图片描述
    在这里插入图片描述

  • 请注意,input_shapepooling参数只能在 include_topFalse 时指定。因为如果默认使用完整的 vgg-16网络,这个时候全连接层的参数是固定的,如果随便调了输入图片的尺寸或者 pooling 的参数,那么在最终特征图 feature map 到达 dense 层的时候,就不一定满足神经元个数匹配,因此只有在不包含全连接层(include_top=False)的时候才能指定修改 input_shape 以及 pooling 参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值