MSE_l = mean_squared_error(test_labels.cpu(), pre_array) AttributeError: 'numpy.ndarray' object has no attribute 'cpu'
时间: 2024-03-08 09:50:15 浏览: 186
MSE.rar_mean_mean-squared error _mse
这个错误提示表明你正在使用一个Numpy数组,但是它没有`cpu`属性。`cpu`是PyTorch Tensor对象的属性,而不是Numpy数组的属性。因此,你需要将Numpy数组转换为PyTorch Tensor对象,然后才能使用`cpu`属性。
你可以使用`torch.from_numpy()`方法将Numpy数组转换为PyTorch张量。这样,你就可以使用`cpu`属性了。例如:
```
import torch
# 将Numpy数组转换为PyTorch张量
test_labels_tensor = torch.from_numpy(test_labels)
# 进行预测
pre_array = ...
# 计算均方误差
MSE_l = torch.nn.functional.mse_loss(test_labels_tensor, pre_array).item()
```
注意,在计算均方误差时,你需要使用`torch.nn.functional.mse_loss()`函数。它会返回一个张量,而不是一个Numpy数组。因此,你需要使用`item()`方法将张量转换为标量。
阅读全文