首页 > 解决方案 > Pytorch - 重复损失

问题描述

我是 PyTorch 的新手,在显示模型丢失时发现了一个问题。 Pytorch Adam Optimizer - 模型损失图

Pytorch SGD Optimizer - 模型损失图

如您所见,该模型似乎多次上升和下降,并具有循环模式(该模式在每个时期的乞讨时开始重复)。

完整代码可以在以下位置找到:https ://github.com/19valentin99/Kaggle/tree/main/Iris%20Flowers in main_test.py(# 行是我用来调试代码的行,答案应该是以下)。

标签: pytorchrepeatloss

解决方案


当我们只考虑最后一个元素的损失(或整个时期的损失)时,我们会看到损失的平滑减少

您的损失是平滑的原因是因为您正在查看每次迭代中完全相同的批次的损失。实际上,您的火车数据加载器并没有对您的实例进行洗牌:

train2 = DataLoader(flowers_data_train, batch_size=BATCH_SIZE)

这意味着同一批次​​将在每个时期最后出现。这就是它的全部内容,这并不意味着学习不同,这意味着您正在查看完整数据集损失的一部分。


推荐阅读