python - 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)
解决方案
推荐阅读
- java - 无法使用 Java 10 运行 Eclipse Neon.3
- external - 寻找外部本机 TCP Service Fabric 客户端的指导
- c++ - Geeksforgeeks C 程序疑难解答:IEE 754 Notation to Decimal
- java - 没有从 do-while 循环中获得预期的输出
- c# - Visual Studio 控制台文本颜色不适用于“输出”窗口
- ruby-on-rails - Bundler 无法安装 signet
- firebase - 如何从 StreamProvider Flutter 访问数据
- c# - 使用 UnityEngine 时无法编译 ac# 脚本
- android-recyclerview - IndexOutOfBoundsException:滚动时检测到不一致错误
- python-3.x - 如何从 python 内置 dir() 方法遍历类方法/函数列表?