【发布时间】:2018-03-23 10:57:45
【问题描述】:
我在网上看到很多关于如何微调VGG16和InceptionV3的例子。比如有人在微调VGG16时会设置前25层冻结。对于 InceptionV3,前 172 层将被冻结。但是resnet呢?当我们进行微调时,我们会冻结基础模型的一些层,如下所示:
from keras.applications.resnet50 import ResNet50
base_model = ResNet50(include_top=False, weights="imagenet", input_shape=(input_dim, input_dim, channels))
..............
for layer in base_model.layers[:frozen_layers]:
layer.trainable = False
那么我应该如何设置frozen_layers?实际上,我不知道在使用 VGG16、VGG19、ResNet50、InceptionV3 等进行微调时应该设置多少层来冻结。谁能给我有关如何微调这些模型的建议?尤其是人们在对这些模型进行微调时会冻结多少层?
【问题讨论】:
-
我也听说,如果我们只训练自己的密集层,这叫做迁移学习。如果我们以较小的学习率训练 base_model 中的一些层(如 resnet、vgg 等),则称为微调。我知道卷积块有一些特殊的含义,那么如何冻结基础模型中的层以进行微调?
标签: machine-learning neural-network deep-learning keras resnet