深度学习(21)——关于训练过程中loss和acc固若磐石
创始人
2025-05-30 10:23:32

深度学习(21)——关于训练过程中loss和acc固若磐石

1. 背景描述

最近在做时间序列,思路清晰明朗,model全部搭建好了,但是loss和acc固若磐石,稳步不动。还是分类任务,因为是之前调试过的代码,后来自己手写了一遍(对自己非常有信心!)结果,就出现了这种情况。

2. 问题排查

听师兄的话,一定会找到bug的原因。我去掉时间序列,直接用自己手写的代码去做分类,竟然出现和上面同样的情况,OOTD,麻了。debug吧!在loss的地方跳了又跳,检查了又检查,都没查出错误,一天过去了。今天早上对着代码又检查,oh no,被自己蠢到了!
我的loss:预测的label和真实的label在做loss

_, output = model(images.to(device))
pred_class = torch.sigmoid(output).gt(0.5).int()
accu_num += torch.eq(pred_class.squeeze_(), labels.to(device)).sum()  # 正确的个数
loss = loss_function(pred_class.float(), labels.to(device).float())

在这里插入图片描述

loss = loss_function(pred_class.float(), labels.to(device).float())扪心自问:这loss能这样写吗???这不是难为机器吗???机器内心独白:大人啊!只有0和1这些标签,让我学什么??这不是难为我吗??

3. 来吧!解决问题!

得到预测的分类结果(0,1,2,3,4…这种离散结果)只用于计算模型预测的准确个数,loss是需要让他反向传播去学习怎么变化的,所以应该是他和真实值之间的差异!正确的写法:
loss = loss_function(output.float(), labels.to(device).float())
在这里插入图片描述
886,只希望自己以后少出现这种低级错误!

相关内容

热门资讯

从“酿酒”到“酿城”,宜宾白酒... 长江之畔,酒香飘扬。 12月19日,2025中国国际名酒博览会如约启幕,宜宾这座“中国白酒之都”,再...
世界酒旅胜地及2025四川酒旅... 12月19日上午,2025中国国际名酒博览会开幕式在酒都宜宾举行。在开幕式上,发布了“2025年四川...
资阳美食如何逆袭?从推介会看资... 你是否曾听说过资阳?这个曾被调侃为“美食荒漠”的地方,如今正在以其独特的美食文化吸引着越来越多的游客...
美食背后的故事:家常菜承载的回... 在一道美食的背后,总归会存在着一个值得去细细品味的故事,也许它是源于一次偶然间所进行的尝试,又或许它...