安装PyG
import os
import torch
os.environ['TORCH'] = torch.__version__
print(torch.__version__)
!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
!pip install -q torch-sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}..html
!pip install -q git+https://github.com/pyg-team/pytorch_geometric.git
Pytorch_geometric需要跟torch-scatter和torch-sparse一起使用。在安装torch-scatter时可能会遇到编译报错的情况
问题1: 编译报错,gcc版本过低。
centos默认gcc是4.8.5,不支持c++ 14,因此需要升级gcc,版本4.9以上就可以了。
问题2:编译报错:fatal error: cusolverDn.h: No such file or directory
-
报错原因:环境配置原因,编译使用的cuda环境不是系统的cuda环境,当前nvcc指令是conda虚拟环境中的nvcc(目录类似于/home/anaconda3/envs/torch/bin/nvcc
),这个cuda环境中不包含cusolverDn.h头文件,系统的cuda实际在/usr/local/cuda/include/
目录下。
-
解决方案:更改环境配置,将PATH中的/usr/local/cuda/include/
移到/home/anaconda3/envs/torch/bin
之前就好了。
原来的PATH=/home/anaconda3/envs/torch/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:….
现在的PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/home/anaconda3/envs/torch/bin:….
指令:export PATH=/usr/local/cuda/bin:$PATH
-
解决方案来源:github
问题3:通过pip安装pyg一定要注意版本
通常pyg要跟torch_scatter、torch_sparse、torch_cluster、torch_spline_conv
一起安装,这几个包的cuda
版本要跟pytorch
的cuda
保持一致
Follow官网的安装方式,一步一步安装,确保各个包能在下面的网页中找到对应的版本,否则就会报一些乱七八糟的错误。
pip install pyg_lib torch_scatter torch_sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-geometric
使用PyG
问题1:AttributeError: Can’t get attribute ‘DataEdgeAttr’
import torch_geometric.transforms as T
from ogb.nodeproppred import PygNodePropPredDataset
dataset_name = 'ogbn-arxiv'
dataset = PygNodePropPredDataset(name=dataset_name, transform=T.ToSparseTensor())
print('The {} dataset has {} graph'.format(dataset_name, len(dataset)))
- 报错原因,服务器(pytorch 1.8.1+cu101, torch_geometric 2.0.3)上下载数据集比较慢,因此在本地(pytorch 1.13.1+cpu, torch_geometric 2.2.0)下载好上传到服务器,一起上传上去的还有processed文件下的pt文件,由于pytorch/torch_geometric版本不一致导致解析失败。
- 解决方案:删除processed目录后重新执行一遍代码即可。
- 解决方案来源:github
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)