【发布时间】:2020-10-07 01:57:53
【问题描述】:
因为我在同一个循环中进行训练和测试(对于training set 上的每个时期,网络都应用于整个validation set)。
现在,我在某个时刻(第 n 个 epoch)获得的最高验证准确度是我网络的最高准确度是否有意义,或者我应该只在图表稳定且权重不变时才使用验证准确度?
【问题讨论】:
标签: deep-learning pytorch
因为我在同一个循环中进行训练和测试(对于training set 上的每个时期,网络都应用于整个validation set)。
现在,我在某个时刻(第 n 个 epoch)获得的最高验证准确度是我网络的最高准确度是否有意义,或者我应该只在图表稳定且权重不变时才使用验证准确度?
【问题讨论】:
标签: deep-learning pytorch
我认为您将testing 与validation 混淆了。如果可能,您应该保留一个单独的数据集测试集,仅在完成训练和验证后进行测试。
虽然您可以使用该测试集进行验证,但最好对模型从未见过的单独数据集进行推理。
所以回答您的问题,如果您的验证准确度出现峰值,那么它可能会或不可能是最高的,因为 epoch 数越多,获得更高准确性的机会就越大(假设模型不是过拟合数据集)。
在这种情况下,最好在每次验证准确度达到峰值后保存模型,以便在训练和验证完成后获得具有最高验证准确度的最佳模型。
【讨论】: