【发布时间】:2020-04-04 00:03:35
【问题描述】:
这是我为我的深度学习项目制作的模型,我从中获得了不错的准确性。我的问题是,如果我冻结了初始模型(这是我的 VGG19 的基础模型)的权重,我是如何训练整个模型的?而且在添加了冻结层的 VGG19 层之后,我得到的结果比我只获得了几层 CNN 更好。可能是因为我的 CNN 层中初始化了 VGG19 的权重?
img_h=224
img_w=224
initial_model = applications.vgg19.VGG19(weights='imagenet', include_top=False,input_shape = (img_h,img_w,3))
last = initial_model.output
for layer in initial_model.layers:
layer.trainable = False
x = Conv2D(128, kernel_size=3, strides=1, activation='relu')(last)
x = Conv2D(64, kernel_size=3, strides=1, activation='relu')(x)
x = Flatten()(x)
x = Dense(512, activation='relu')(x)
x = Dense(256, activation='relu')(x)
x = Dense(128, activation='relu')(x)
x = (Dropout(0.1))(x)
preds = Dense(2, activation='sigmoid')(x)
【问题讨论】:
标签: tensorflow machine-learning keras computer-vision