我有一个在 Pytorch 中实现的 DenseNet121 用于图像分类。目前,训练设置非常简单:
- 数据已加载。这里的一个重要特征是验证数据从一开始就是固定的,永远不会改变。其余数据我分为训练和测试。没有一个数据集重叠!
- 对于每个 epoch 迭代训练数据加载器,计算损失,优化等。
- 每 100 个批次使用验证数据加载器评估损失
- 在 epoch 结束时,将当前状态在验证数据上的损失与之前具有最佳验证损失的状态进行比较(对于第一个 epoch,只需将其与 1e5 之类的随机高数进行比较)并保存当前状态,如果它更好或保持较旧的状态。
- 在所有时期完成后,将具有最低验证错误的状态保存为最佳模型
- 然后将最佳模型应用于测试数据。计算精度并绘制 ROC 曲线
我想知道如何扩展我的设置以使其成为一个适当的统计实验设置,以获得稳定的准确性和损失结果,即我希望能够说我的模型始终给出相同的结果。我在考虑运行测试步骤说 10 次并平均错误?或者您是否发现训练中有一些不足之处可以改进以提高稳定性?
提前致谢