PyTorch Geometric无法导入accuracy的问题解决咨询
解决PyTorch Geometric中无法导入accuracy函数的问题
问题原因
你当前使用的PyTorch Geometric(PyG)版本里,accuracy函数并不在torch_geometric.utils模块下——该函数在新版本PyG中被迁移至torch_geometric.metrics模块,部分旧版本PyG甚至没有内置这个函数。
解决方案
方案1:更换正确的导入路径
若你的PyG版本为2.0及以上,直接替换导入语句:
from torch_geometric.metrics import accuracy as accuracy_1d
方案2:自行实现accuracy函数
如果不想升级PyG,或者当前版本确实没有内置该函数,可以在代码中直接实现功能一致的函数:
def accuracy_1d(pred, target): # 适配分类任务:pred为模型输出的logits,target为真实标签 pred_label = pred.argmax(dim=1) return (pred_label == target).float().mean().item()
将这段代码添加到你的models.py或工具模块中,替换原导入语句即可使用。
方案3:匹配PyTorch版本升级PyG
若想使用官方内置函数,可升级PyG到与PyTorch 1.11.0兼容的版本(推荐2.0.4),执行命令:
pip install torch_geometric==2.0.4 torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-1.11.0+cu115.html
内容的提问来源于stack exchange,提问作者yie qian
相关产品推荐
相关产品推荐

