pytorch loss = loss_func(output, label) 报错

在运行损失函数时 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等。

相信你能够在这里有所收获,精进为一名优秀程序员,我们一起加油~

 

 


版权声明:本文为baidu_36639782原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。