Traceback (most recent call last): File "E:/403/myworld/GraphNet.py", line 62, in <module> test(model, g, features, labels, test_mask) File "E:/403/myworld/GraphNet.py", line 47, in test acc = F.accuracy(logits[test_mask], labels[test_mask]) AttributeError: module 'torch.nn.functional' has no attribute 'accuracy'
时间: 2024-01-29 09:03:53 浏览: 300
这个错误提示是因为 PyTorch 的 `torch.nn.functional` 模块中没有 `accuracy` 方法。如果你想使用 accuracy 方法,你需要先导入 `torchmetrics` 库:
```python
from torchmetrics import accuracy
acc = accuracy(logits[test_mask], labels[test_mask])
```
这样可以解决你遇到的问题。
相关问题
Traceback (most recent call last): File "E:/403/myworld/GraphNet.py", line 4, in <module> from torch_geometric.nn import SAGEConv ModuleNotFoundError: No module named 'torch_geometric'
这错误提示是因为没有安装 `torch_geometric` 模块。可以使用以下命令安装:
```shell
pip install torch-geometric
```
如果你使用的是conda环境,可以使用以下命令安装:
```shell
conda install pytorch-geometric -c rusty1s -c conda-forge
```
安装完成后,再次运行代码即可。
Traceback (most recent call last): File "E:/403/myworld/GraphNet.py", line 22, in <module> g.ndata['label'] = torch.from_numpy([labels]) TypeError: expected np.ndarray (got list)
这个错误是因为你传递给`torch.from_numpy()`函数的参数是一个列表,而不是一个NumPy数组。你需要先将列表转换为NumPy数组,然后再将其传递给该函数。
例如,假设你的标签列表是`labels_list`,你可以使用以下代码将其转换为NumPy数组:
```
import numpy as np
labels_array = np.array(labels_list)
```
然后你可以将`labels_array`传递给`torch.from_numpy()`函数:
```
g.ndata['label'] = torch.from_numpy(labels_array)
```
这样就不会出现上述错误了。
阅读全文