丁天牛 2021-07-05 18:01 采纳率: 100%
浏览 174
已采纳

具有多个值的张量的布尔值是不明确的

        for i, data in enumerate(divide.train_loader, 0):
            inputs, train_labels = data    #
            inputs, labels = Variable(inputs), Variable(train_labels)
            optimizer.zero_grad()
            outputs = Net(inputs)
            _, train_predicted = torch.max(outputs.data, 1)
            #train_correct += (train_predicted == labels.data).sum()
            if train_predicted == labels.data:
                train_correct += 1
Traceback (most recent call last):
  File "C:/Users/牛牛/Desktop/机器学习/dataset_kaggledogvscat/train.py", line 23, in <module>
    if train_predicted == labels.data:
RuntimeError: Boolean value of Tensor with more than one value is ambiguous

为什么train_correct += (train_predicted == labels.data).sum()就可以呢?这句话的意思就是如果train_predicted与labels.data相等的话,train_correct就加一么

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-07-05 18:21
    关注

    建议打印看看这两个输出的值,看看数据和类型什么的,这样比较容易理解

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效