PyTorch Geometric (PyG) 安装教程

这篇博文详细介绍了在Linux系统上安装PyTorch Geometric(PyG)的步骤,针对PyTorch 1.11.0和不同CUDA版本提供了安装命令。博主分享了个人的安装经验,包括遇到的问题和解决方案,如遇到CUDA版本不匹配的问题,建议更换cudatoolkit版本。此外,还提到了安装main/nightly版本的情况。最后,博主通过测试代码验证了安装是否成功,虽然遇到了scipy和numpy版本不兼容的警告,但并未给出解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

诸神缄默不语-个人CSDN博文目录

PyG官方下载主页:Installation — pytorch_geometric documentation

以下仅考虑Linux系统的情况。(在Windows上跑GNN是不是太身残志坚了)

安装PyG需要先安装PyTorch,安装PyTorch可以参考我之前写的博文:PyTorch安装教程

以下根据PyTorch和对应的cuda版本来写PyG的安装方式。对应可行的安装时间会对应附上。
由于我在遇到对应情况时才能撰写对应博文,更多情况看以后我会不会遇上吧。

注意:这里对应的cuda版本,一般情况下只要跟cudatoolkit对应上就行。
除非遇上这种坑爹情况:Is PyTorch 1.7.1 and cuda 9.2 able to use neighbor_sample? · Issue #179 · rusty1s/pytorch_sparse
一般来说直接更换cudatoolkit版本就能解决,这还解决不了再说。

1. PyTorch 1.11.0

1.1 cudatoolkit 10.2

2022.8.3
我安装PyTorch用的Python3.8,命令是conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=10.2 -c pytorch

这是符合quick start的场景,所以可以直接安装:
在这里插入图片描述

conda install pyg -c pyg

1.2 cudatoolkit 11.3

2022.9.1
PyTorch 1.11.0+cu113(命令是:pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.11.0+cu113.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.11.0+cu113.html
pip install torch-geometric

2. main/nightly版本

2022.8.10
我是因为这个:After T.ToUndirected, the data.is_undirected() is still False · Discussion #5174 · pyg-team/pytorch_geometric 所以需要下main/nightly版本的。

官方GitHub README文件中的安装部分:https://github.com/pyg-team/pytorch_geometric#installation

(先把之前下过的PyG给conda uninstall了)

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.11.0+cu102.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.11.0+cu102.html
pip install pyg-nightly

(请自行替换torch和cuda的版本)

3. 测试安装效果

import torch
from torch_geometric.data import Data

edge_index = torch.tensor([[0, 1, 1, 2],
                           [1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)

data = Data(x=x, edge_index=edge_index)
print(data)

输出:

my_env/lib/python3.8/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.23.1
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
Data(x=[3, 1], edge_index=[2, 4])

可以看到这里scipy和numpy的版本不合。但是这样我也没有办法!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值