安装
PyG 适用于 Python 3.9 到 Python 3.12。
注意
我们不建议在系统上以root用户身份安装Python。 请设置一个虚拟环境,例如,通过 Anaconda或Miniconda,或者创建一个Docker镜像。
快速开始
通过Anaconda安装
您现在可以通过 Anaconda为所有主要操作系统、PyTorch和CUDA组合安装PyG 🤗。
如果您尚未安装PyTorch,请按照其官方文档中的描述通过 conda install进行安装。
假设您已经安装了PyTorch(>=1.11.0),只需运行
conda install pyg -c pyg
警告
Conda 包目前不适用于 Windows 和 M1/M2/M3 芯片的 Mac。
如果 conda 没有选择正确的 PyG 的 CUDA 版本,你可以按照以下方式强制执行:
conda install pyg=*=*cu* -c pyg
通过PyPi安装
从 PyG 2.3 开始,你可以安装并使用 PyG 无需任何外部库,除了 PyTorch。 为此,只需运行:
pip install torch_geometric
附加库
如果你想利用PyG的全部功能,你可能需要安装以下几个额外的库:
pyg-lib: 异构图神经网络操作符和图采样例程
torch-scatter: 加速且高效的稀疏归约
torch-sparse:
SparseTensor支持,参见 这里torch-cluster: 图聚类例程
这些包附带了基于 PyTorch C++/CUDA/hip(ROCm) 扩展接口的CPU和GPU内核实现。 对于PyG的基本使用,这些依赖项是完全可选的。 我们建议从最小安装开始,并在实际需要时安装额外的依赖项。
从Wheels安装
为了便于安装这些扩展,我们为所有主要操作系统、PyTorch 和 CUDA 组合提供了这些包的 pip 轮子,请参见 这里:
警告
目前M1/M2/M3 Macs上无法使用Wheels。 请从源代码安装扩展包from source。
确保至少安装了 PyTorch 1.13.0:
python -c "import torch; print(torch.__version__)" >>> 2.5.0
找到安装 PyTorch 时使用的 CUDA 版本:
python -c "import torch; print(torch.version.cuda)" >>> 12.4
安装相关包:
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html其中
${TORCH}和${CUDA}应分别替换为特定的 PyTorch 和 CUDA 版本:PyTorch 2.4:
${TORCH}=2.5.0和${CUDA}=cpu|cu118|cu121|cu124PyTorch 2.4:
${TORCH}=2.4.0和${CUDA}=cpu|cu118|cu121|cu124PyTorch 2.3:
${TORCH}=2.3.0和${CUDA}=cpu|cu118|cu121PyTorch 2.2:
${TORCH}=2.2.0和${CUDA}=cpu|cu118|cu121PyTorch 2.1:
${TORCH}=2.1.0和${CUDA}=cpu|cu118|cu121PyTorch 2.0:
${TORCH}=2.0.0和${CUDA}=cpu|cu117|cu118PyTorch 1.13:
${TORCH}=1.13.0和${CUDA}=cpu|cu116|cu117
例如,对于 PyTorch 2.5.* 和 CUDA 12.4,输入:
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.5.0+cu124.html
例如,对于 PyTorch 2.4.* 和 CUDA 11.8,输入:
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu118.html
注意: 旧版本的二进制文件也提供了 PyTorch 1.4.0, 1.5.0, 1.6.0, 1.7.0/1.7.1, 1.8.0/1.8.1, 1.9.0, 1.10.0/1.10.1/1.10.2, 1.11.0, 1.12.0/1.12.1, 1.13.0/1.13.1, 2.0.0/2.0.1, 2.1.0/2.1.1/2.1.2, 2.2.0/2.2.1/2.2.2, 和 2.3.0/2.3.1(遵循相同的程序)。
对于旧版本,您需要明确指定最新支持的版本号 或通过 pip install --no-index 安装,以防止手动从源代码安装。
您可以在此处查找最新支持的版本号 这里。
ROCm: 外部 pyg-rocm-build 仓库 提供了如何为 ROCm 安装 PyG 的详细说明和 wheels。 如果您对此有任何疑问,请在此处 提交问题。
从源代码安装
如果我们的轮子不支持特定版本,您可以选择从源代码安装它们:
确保您的CUDA设置正确(可选):
检查是否安装了支持CUDA的PyTorch:
python -c "import torch; print(torch.cuda.is_available())" >>> True
将CUDA添加到
$PATH和$CPATH(请注意,您的实际CUDA路径可能与/usr/local/cuda不同):export PATH=/usr/local/cuda/bin:$PATH echo $PATH >>> /usr/local/cuda/bin:... export CPATH=/usr/local/cuda/include:$CPATH echo $CPATH >>> /usr/local/cuda/include:...
在Linux上将CUDA添加到
$LD_LIBRARY_PATH,在macOS上添加到$DYLD_LIBRARY_PATH(请注意,您的实际CUDA路径可能与/usr/local/cuda不同):export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH >>> /usr/local/cuda/lib64:... export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH echo $DYLD_LIBRARY_PATH >>> /usr/local/cuda/lib:...
验证
nvcc是否可以从终端访问:nvcc --version >>> 11.8
确保 PyTorch 和系统的 CUDA 版本匹配:
python -c "import torch; print(torch.version.cuda)" >>> 11.8 nvcc --version >>> 11.8
安装相关包:
pip install --verbose git+https://github.com/pyg-team/pyg-lib.git pip install --verbose torch_scatter pip install --verbose torch_sparse pip install --verbose torch_cluster pip install --verbose torch_spline_conv
在极少数情况下,CUDA 或 Python 路径问题可能会阻止成功安装。
pip 甚至可能显示安装成功,但执行时却会崩溃,并显示 Segmentation fault (core dumped)。
我们在 常见问题解答 小节中收集了常见的安装错误。
如果常见问题解答未能帮助您解决问题,请创建一个 issue。
在此之前,请按照官方的 安装指南 验证您的 CUDA 是否正确设置。
Frequently Asked Questions
undefined symbol: **make_function_schema**: 此问题表明 (1) 您安装的 PyTorch 版本与指定安装扩展包的${TORCH}版本之间存在版本冲突,或者 (2) 安装的 PyTorch 的 CUDA 版本与指定安装扩展包的${CUDA}版本之间存在版本冲突。 请确认您的 PyTorch 版本及其 CUDA 版本与您的安装命令匹配:python -c "import torch; print(torch.__version__)" python -c "import torch; print(torch.version.cuda)" nvcc --version
对于重新安装,请确保使用
pip --force-reinstall --no-cache-dir标志以避免任何缓存问题。 此外,pip --verbose选项可能有助于跟踪安装过程中的任何问题。 如果仍然无法成功安装,请尝试从源代码安装扩展包。