在运行损失函数时 loss = loss_func(output, label) 时报了两个错 :
1.
RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target'
这是因为label必须是 LongTensor 类型, 之前是 :
label = t.tensor(float(image[1])) # image[1]为str类型
改为 :
label = t.tensor(float(image[1])).long()
2.
Assertion `cur_target >= 0 && cur_target < n_classes’ failed
这是因为我的数据集类别是从1开始,需要依次减一,所以要改为 :
label = t.tensor(float(image[1])-1).long()
作者简介
我是阿德,一名五年工作经验的软件开发工程师,985高校非科班程序员,热爱编程与开源,
此公众号【程序员阿德】专注于分享各种计算机干货,包括但不限于计算机组成原理、数据结构与算法、计算机网络、操作系统、数据库、Linux等。
相信你能够在这里有所收获,精进为一名优秀程序员,我们一起加油~