迁移学习如何设置不可训练层

首先,看一下这个博客:https://blog.csdn.net/tsyccnh/article/details/78889838

怎么样来找GAP_LAYER?具体步骤:

使用plot_model函数来打印一份整个网络的结构图。在代码最前面加(如果没有需要自己安装一下~):

from keras.callbacks import TensorBoard
from keras.utils import plot_model

在代码模型部分的最后加:

plot_model(model,to_file='model.png')

然后,就可以在文件夹里找到网络的结构图啦~如下图:

在结构图上数一数就知道GAP_LAYER应该设多少啦~~

想训练所有的Inception模块,前面的一些基础层参数不去动。所以我们要保证max_pooling_2d_2这一层以及之前层的参数都是不可训练的。1,2,3……咦,正好17层,和博客设的一样。

当然,其他网络也是设置基础层为不可训练的。基础层数你会数了吗?

posted @ 2018-09-20 12:34  feifanren  阅读(402)  评论(0编辑  收藏  举报