解决错误“IndexError: Target 5 is out of bounds.“

解决错误"IndexError: Target 5 is out of bounds."

报错背景:

在用pytorch进行建立自己的dataset,读取程序时,在运行softmax时报错。
在这里插入图片描述
debug发现y_hat的shape是(batch_size,2),这里的2是num_outputs定义的。然而y的shape是(batch_size,10),这里的10 是标签数。由于两个数不对等,也就是维度不等,所以在计算loss是报错。
在这里插入图片描述在这里插入图片描述

问题分析:

多分类网络softmax输出的节点数与标签数不一致,导致在计算loss时报错Target N is out of bounds。

解决方法:

检查输出节点数与标签数是否一致。
并且将输出节点数num_outputs更改为标签数。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_49785839/article/details/115349323