#测试代码中correct += (y_pred == y).sum().item()
import torch
import numpy as np
correct = 0
#case1:当y_pre和y为列表时
y = [1,5,7,8]
y_pred = [2,4,7,9]
correct += (y_pred == y).sum().item() #报错:AttributeError: ‘bool’ object has no attribute ‘sum’
#case2:当y_pre和y为np
y = np.array([3,6,8])
y_pred = np.array([5,6,9])
correct += (y_pred == y).sum().item()
print(correct) # 1
#case3 当为tensor时
y= torch.tensor([5,8,3])
y_pred = torch.tensor([5,8,4])
correct=0
correct += (y_pred == y).sum().item()
print(correct) #2
这篇博客探讨了Python中列表和NumPy数组的区别,并通过示例展示了在比较和操作过程中可能出现的问题。在Case1中,尝试将列表直接进行相等比较导致错误,而在Case2和Case3中,使用NumPy数组和PyTorch张量进行比较则能得到预期结果。这强调了在处理数值计算时使用数组库的重要性。
528

被折叠的 条评论
为什么被折叠?



