迁移学习如何设置不可训练层
首先,看一下这个博客: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层,和博客设的一样。
当然,其他网络也是设置基础层为不可训练的。基础层数你会数了吗?