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