pytorch - Pytorch - 重复损失
问题描述
我是 PyTorch 的新手,在显示模型丢失时发现了一个问题。 Pytorch Adam Optimizer - 模型损失图
如您所见,该模型似乎多次上升和下降,并具有循环模式(该模式在每个时期的乞讨时开始重复)。
完整代码可以在以下位置找到:https ://github.com/19valentin99/Kaggle/tree/main/Iris%20Flowers in main_test.py(# 行是我用来调试代码的行,答案应该是以下)。
解决方案
当我们只考虑最后一个元素的损失(或整个时期的损失)时,我们会看到损失的平滑减少
您的损失是平滑的原因是因为您正在查看每次迭代中完全相同的批次的损失。实际上,您的火车数据加载器并没有对您的实例进行洗牌:
train2 = DataLoader(flowers_data_train, batch_size=BATCH_SIZE)
这意味着同一批次将在每个时期最后出现。这就是它的全部内容,这并不意味着学习不同,这意味着您正在查看完整数据集损失的一部分。
推荐阅读
- java - 参差不齐的数组不允许我有不同的列
- r - R中的逐行模拟
- python - Seaborn 联合图组颜色编码(用于散点图和密度图)
- cocoa - Cocoa swift:如何将 NSTextField 设置为只接受数字
- java - 如何从 JAX-RS Web Target Decorator 获取 Jersey Web Target?
- machine-learning - 微型 YOLOv3(暗网)训练“太快”并产生不同的输出
- python - 提取某种颜色的文本,忽略其余部分
- python - 使用 Python 进行反向转换
- c++ - 为什么重载运算符不能使用引用接受这些参数?
- c# - 如何从 SqlDataReader 克隆数据,以一种可以通过方法导出的方式保留所有列和行?