You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ResNet50训练时val_accuracy与val_loss仅首轮可见问题求助

问题解决:ResNet50训练仅首epoch显示验证指标

问题现象

训练ResNet50进行新冠感染/正常图像二分类时,仅第一个epoch能看到val_accuracy和val_loss,后续epoch无验证指标输出,已传入验证数据但问题持续。

代码问题分析

  1. validation_steps参数冗余:当validation_data传入numpy数组格式的验证集时,Keras会自动计算验证所需步数,手动设置validation_steps=len(X_valid)//bs会导致验证流程异常——若验证集样本数不是batch size的整数倍,后续epoch无法正常触发验证逻辑。
  2. ModelCheckpoint监控指标错误:当前monitor="accuracy"监控的是训练集准确率,无法基于验证集表现保存最优模型,虽不直接导致指标不显示,但不符合分类任务的常规需求。

修正后的代码

数据划分代码(无问题,可直接保留)

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
print('The train Data Shape ', X_train.shape[0])
 
X_test, X_valid, y_test, y_valid = train_test_split(X_test,y_test, test_size = 0.5)
print('The validation Data Shape ', X_valid.shape[0])
print('The test Data Shape ', X_test.shape[0])

模型训练代码(修正关键问题)

lr = 1e-3
epochs = 100
bs = 8
optimizer = Adam(learning_rate=lr, decay=lr/epochs)
model.compile(optimizer, loss='binary_crossentropy', metrics=['accuracy'])

# 初始化训练数据增强器
train_datagen = ImageDataGenerator(
        rotation_range=15,
        fill_mode="nearest")

# 修正监控指标为验证集准确率,确保保存最优验证模型
checkpointer = ModelCheckpoint(filepath="./Model/CDX_Best_RestNet50.h5", 
                               save_best_only=True, 
                               monitor="val_accuracy",
                               verbose=1)
start = time.time()

# 移除validation_steps参数,由Keras自动计算验证步数
history=model.fit(train_datagen.flow(X_train, y_train, batch_size=bs),
                  steps_per_epoch=len(X_train)//bs,
                  validation_data=(X_valid, y_valid),
                  epochs=epochs,
                  callbacks=[checkpointer])

end = time.time()
duration = end - start
print(f'\n This Model took {duration:.2f} seconds ({duration/60:.1f} minutes) to train for {epochs} epochs')

额外注意事项

  • 确认X_train、X_valid的形状为(样本数量, 224, 224, 3),若缺少样本数维度,需调整数据格式。
  • 若需更详细的训练日志,确保model.fit中verbose参数设置为1(默认值)。

内容的提问来源于stack exchange,提问作者Raghav Kavimandan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:28:11