我在互联网上看到过很多关于如何微调VGG16和InceptionV3的例子。例如,有些人在微调VGG16时会将前25层设置为冻结。对于InceptionV3,前172层将被冻结。但是,如何resnet?当我们做微调的时候,我们会冻结一些底层模型,如下:如何用resnet50模型进行微调?
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 .etc),则称为微调。我知道卷积块有一些特殊的含义,那么如何冻结基本模型中的图层以便进行微调? –
我在这个博客上看到这些:[building-powerful-image-classification-models-using-very-little-data](https://blog.keras.io/building-powerful-image-classification-models-using- very-little-data.html) –