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

        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就加一么

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