首页 > 解决方案 > Keras vgg16 微调使用生成器 flow_from_dataframe val_acc 冻结在 0

问题描述

我一直在尝试训练回归模型来预测推断图像的质量,并且我的 val_accurracy 总是冻结在 0 并且根本没有改变

这是我的模型:

training_gen = ImageDataGenerator(rescale= 1./255)
val_gen = ImageDataGenerator(rescale= 1./255)

train_generator = training_gen.flow_from_dataframe( 
    dataframe = df_train,
    x_col = 'dist_img',
    y_col='dmos',
    target_size = (384, 512),
    batch_size = 64,
    class_mode = 'raw'
)

test_generator = val_gen.flow_from_dataframe( 
    dataframe = df_test,
    x_col = 'dist_img',
    y_col='dmos',
    target_size = (384, 512),
    class_mode = 'raw',
    batch_size = 64
)
pre_trained = VGG16(weights='imagenet', include_top=False, input_tensor = Input(shape=(384, 512, 3)))
for layer in pre_trained.layers[:15]:
    layer.trainable = False
for layer in pre_trained.layers[15:]:
    layer.trainable = True

last_layer = pre_trained.get_layer('block5_pool')
last_output = last_layer.output
 
x = GlobalMaxPooling2D()(last_output)
x = Dense(512, activation='relu')(x)
x = Dropout(0.5)(x)
predictions = Dense(1)(x)

标签: pythonkeras

解决方案


推荐阅读