- 你还在为自己搭建网络结构而烦恼么
- 你还在为自己找不到合适的网络做实验而苦闷么
- 看完这篇文章,给你不一样的新世界
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_shape和pooling参数只能在include_top是False时指定。因为如果默认使用完整的vgg-16网络,这个时候全连接层的参数是固定的,如果随便调了输入图片的尺寸或者pooling的参数,那么在最终特征图feature map到达dense层的时候,就不一定满足神经元个数匹配,因此只有在不包含全连接层(include_top=False)的时候才能指定修改input_shape以及pooling参数
本文指导如何导入并灵活使用VGG-16模型,详解参数设置,包括weights选择、include_top选项,以及input_shape和pooling的调整技巧。不再为网络结构困扰,带你进入新世界。
&spm=1001.2101.3001.5002&articleId=109721275&d=1&t=3&u=1e782bbbfac9446a957c4f1ec0e13e7a)
1601

被折叠的 条评论
为什么被折叠?



