博客
关于我
pytorch loss = loss_func(output, label) 报错
阅读量:313 次
发布时间:2019-03-03

本文共 639 字,大约阅读时间需要 2 分钟。

在运行损失函数时,当执行 loss = loss_func(output, label) 时,出现了两个错误。以下是详细的解决方法:

1. 数据类型错误

错误信息: RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target'

问题分析: 这是因为标签 label 必须是 LongTensor 类型,而之前的代码中将其转换为浮点数类型了。具体来说,image[1] 是字符串类型,在转换为浮点数后,再将其转换为 LongTensor 类型。

解决方法: 将标签转换为 LongTensor 类型:

label = t.tensor(float(image[1])).long()

这样可以确保标签是正确的整数类型。

2. 类别标签范围错误

错误信息: Assertioncur_target >= 0 && cur_target < n_classes’ failed`

问题分析: 这是因为数据集的类别是从 1 开始的,但在计算损失函数时,默认是从 0 开始的。因此需要将标签减去 1。

解决方法: 将标签调整为减去 1:

label = t.tensor(float(image[1]) - 1).long()

这样可以确保标签的范围是从 0 开始的,符合损失函数的预期。

通过以上修改,可以解决以上两个错误,确保训练过程顺利进行。

转载地址:http://wncq.baihongyu.com/

你可能感兴趣的文章
Notification 使用详解(很全
查看>>
NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
查看>>
NotImplementedError: Could not run torchvision::nms
查看>>
nova基于ubs机制扩展scheduler-filter
查看>>
Now trying to drop the old temporary tablespace, the session hangs.
查看>>
nowcoder—Beauty of Trees
查看>>
np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
查看>>
np.power的使用
查看>>
NPM 2FA双重认证的设置方法
查看>>
npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack‘解决方法
查看>>
npm ERR! ERESOLVE could not resolve报错
查看>>
npm ERR! fatal: unable to connect to github.com:
查看>>
npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
查看>>
npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
查看>>
npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
查看>>
npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
查看>>
npm install CERT_HAS_EXPIRED解决方法
查看>>
npm install digital envelope routines::unsupported解决方法
查看>>
npm install 卡着不动的解决方法
查看>>