常用的模型还有下面这些
使用详情可以到这个网址中了解一下 应用 Applications - Keras 中文文档
我们下面使用Xception做一个例子,一直到创建模型之前与 25.迁移学习 的代码都相同,我们简单看一下
之后我们创建模型
目录
1 创建模型
首先我们先创建卷积基
依然是第一次运行是会下载模型
这里我们多了pooling这个参数,这个参数是处理最终的全局池化层的,我们看一下源码,pooling这个参数有三个可选值
- None 不在最后添加池化层
- avg 在最后添加全局平均池化层
- max 在最后添加全局最大池化层
之后我们看一下卷积基的情况
可以看到这个网络有很多的层
我们令卷积基不参与训练
我们再看一下当前的可训练参数情况
- 只截取了参数部分
2 建立模型
由于我们在卷积基中添加了平均池化层,所以我们在新建立的模型中就不再需要了
我们看一下这个模型
3 编译模型
4 训练模型
看一下曲线
- acc
- loss
我们可以微调一下模型,这个与之前 26.微调预训练模型 的方式相同,我们可以让卷积基中的部分层(只改trainable的布尔值,层看不懂什么意思无所谓)参与训练,从而达到更好的效果,我就不在这展示了
- val_acc已经到达了0.99,对于猫狗分类来讲已经没有再微调的必要了
5 保存模型
6 预测模型
与之前的预测方式相同