block: [0,0,0], thread: [16,0,0] Assertion t 0 && t n_classes failed.

 block: [0,0,0], thread: [16,0,0] Assertion `t >= 0 && t < n_classes` failed.

造成这个问题的原因就是在做分类任务时,训练数据中存在超出分类数目的标签。比如我一共设置了8个类,但是训练数据中的标签里出现了9,就会报这个错误。
那么问题来了,这里有一个陷阱。
训练数据中的标签含0也会报上述错误。这个就非常诡异了。一般我们都从0开始数,但是在pytorch里0以下的类别标签都是要报错的。所以如果类别标签从0开始,要给所有类别标签都加上1。

from: https://blog.csdn.net/zcgyq/article/details/83085028

你可能感兴趣的:(PyTorch)