首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我会出错:“一个以上值的张量的布尔值不明确”

为什么我会出错:“一个以上值的张量的布尔值不明确”
EN

Stack Overflow用户
提问于 2022-06-21 19:33:15
回答 1查看 492关注 0票数 1

我试图运行以下代码:

代码语言:javascript
运行
复制
l = torch.tensor([0, 1, 1, 1], requires_grad=False)
r = torch.rand(4, 2)

torch.nn.CrossEntropyLoss(r, l)

我的错误是:

代码语言:javascript
运行
复制
RuntimeError: Boolean value of Tensor with more than one value is ambiguous

我在这里看了看:Bool value of Tensor with more than one value is ambiguous in Pytorch,但不明白答案。

为了运行代码,我需要更改什么?

EN

Stack Overflow用户

回答已采纳

发布于 2022-06-21 19:38:35

您正在操作的对象torch.nn.CrossEntropyLoss是一个PyTorch模块类,而不是一个函数。

因此,您应该事先取消它:

代码语言:javascript
运行
复制
>>> ce_loss = nn.CrossEntropyLoss()
>>> cel_loss(r, l)

或者使用函数接口,即torch.nn.functional.cross_entropy

代码语言:javascript
运行
复制
>>> F.cross_entropy(r, l)
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72706218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档