问题描述
我在使用 PyTorch
和 torch-geometric
在训练图神经网络的时候出现了 AttributeError: module 'torch' has no attribute 'sparse_csc'
这个问题。
AttributeError: module 'torch' has no attribute 'sparse_csc'
原因分析:
最初开始我以为是 torch
的版本问题,后来我尝试了很多的版本都不行,后期查看了一下 torch-geometric
的版本,发现才是由于 torch-geometric
的问题。
当我调用 torch.sparse_csc()
函数时,Python 解释器会在 torch
模块中寻找 sparse_csc
属性。如果找不到这个属性,Python 解释器会抛出 AttributeError
异常,提示您该属性不存在。
torch-geometric
新版本中可能会包含对 sparse_csc
属性的实现和支持,因此您可以在新版本中顺利使用该属性,而不会再出现 AttributeError
错误提示。
解决方案:
我初期使用的 torch-geometric
的版本是最新的 2.3.0
,后来我换成了 2.1.0
之后就可以了,可以看一下我的依赖,如下:
torch 1.11.0+cu113
torch-cluster 1.6.0
torch-geometric 2.1.0
torch-scatter 2.0.9
torch-sparse 0.6.13
torch-spline-conv 1.2.1
torchvision 0.12.0+cu113
大家可以按照我的环境进行安装。