VGG19 模型加载与前层冻结:加速训练,避免过拟合
这段代码展示了如何加载预训练的 VGG19 模型,并冻结前 15 层。
conv_base = VGG19(weights='imagenet',
include_top=False,
input_shape=(150, 150, 3))
for layer in conv_base.layers[:15]:
layer.trainable = False
conv_base.summary()
冻结这些层的目的是:
- 加速训练: 冻结层不会被更新,减少了需要训练的参数量,从而加速训练过程。
- 避免过拟合: 预训练模型已经学习了丰富的图像特征,冻结这些层可以保留这些特征,防止模型过度拟合训练数据。
后续可以在这个 VGG19 模型的基础上添加自定义层进行微调,以适应特定的任务需求。通过冻结前几层,我们可以利用预训练模型的特征提取能力,并只更新我们自己添加的层,从而提高模型的性能和效率。
原文地址: https://www.cveoy.top/t/topic/oxE4 著作权归作者所有。请勿转载和采集!