caiyuanhao1998 / Retinexformer

"Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement" (ICCV 2023) & (NTIRE 2024 Challenge)
https://arxiv.org/abs/2303.06705
MIT License
828 stars 64 forks source link

请教一下,为什么相同的数据集,在测试和验证的时候的结果不同? #75

Closed LongYu-LY closed 4 months ago

LongYu-LY commented 4 months ago

使用LOLv1_Test部分作为训练时的验证集,同时也作为测试集进行测试。但是相同的模型,在验证时报告的指标与使用test_from_dataset.py进行测试时不同。这是为什么呢?

caiyuanhao1998 commented 4 months ago

在训练的时候,就一个测试集呀,并不存在 训练集 / 验证集 / 测试集 的划分,LOL_v1 的划分都是训练集 485 张,测试集 15 张。

如果觉得我们的 repo 有用的话,帮忙点点 star 支持一下

LongYu-LY commented 4 months ago

是的,我是只使用LOLv1_Test的部分(15张图片)进行测试。我的疑惑是,我使用同一配置文件,对训练得到的best_model使用test_from_dataset.py进行测试,得到的psnr与best_model本身报告的psnr不同 a5484aa9a60a4b8b8e74ea7a2123fe8

caiyuanhao1998 commented 4 months ago

14.84? 18.61 你是不是遇到什么bug了呀。感觉效果不应该那么差呀。

然后就是你确定你数据集划分对了吗?你可以改一下训练代码,打印出每次evaluation的图片路径,然后再在 test_from_dataset 里面修改代码,打印出测试的图片路径。然后将两者对比来debug

LongYu-LY commented 4 months ago

好的,感谢您的回答。效果差是因为我的训练集使用的是我自己的数据,测试集用的是LOL_v1的Test部分。我检测一下代码看看。