PyTorch Geometric环境安装

搞了一晚上,这里把要点说一下:

1. 安装PyTorch

官网 PyTorch 提供了pip、conda等四种安装方式,我尝试了pip和conda这两种。之前一直认为pip才是最简洁的方式,今天算是对这两种方式有了个全面的了解。先说结论:建议用conda安装,不建议pip

官网首页自然是展示了最新的版本,但由于我的PyTorch程序限制使用1.4.0,CUDA版本是10.0,和官网是不一致的,只能自己写规则下载对应的版本。虽然PyTorch官网也给出了previous version供下载,也贴心地罗列了各版本的下载命令,但千人千面,每个人的情况都是不一样的,必须自己按照实际情况修改。比如下面的范例:

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

根据我自身情况,我改成了如下:

# CUDA 10.0
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0 -c pytorch

这里的pytorch和torchvision,以及cudatoolkit是有一个对应关系的,一般在安装过程中如果不匹配,系统会给出提示,并罗列所有的匹配版本供参考。具体可以上网查,我这里简单罗列下:

pytorch==1.3.0 torchvision==0.4.0 cudatoolkit=9.2 or 10.0

pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0

pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.1

这里不的不提pip的垃圾之处了,我按照官网demo命令,修改并执行了如下命令:

# CUDA 10.0
pip install torch===1.4.0 torchvision===0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html

虽然显示标注了cuda10.0版本、成功安装,但后期发现pytorch仍然给出的是cuda10.1版本,导致cuda和后续一些包全部不兼容。所以不建议用pip了。

那如何查看torch cuda安装的版本对不对?执行下面两条命令,对比一下。

$ python -c "import torch; print(torch.version.cuda)"
>>> 10.0

$ nvcc --version
>>> 10.0

我用pip安装以后,第一个版本总是显示10.1。

2. 安装PyTorch Geometric

PyTorch Geometric(以下简称PyG)的官网相当贴心了,为了防止你在没安PyG之前,PyTorch已经出问题,这个官网前四个步骤一步步教你仔细检查PyTorch装的对不对。我刚才提到的torch cuda的问题就是这样检查出来的。

Installation - pytorch_geometric 1.4.3 documentation

这里按流程走就好,再次强调,一定根据自己的实际环境去配置、编写conda或者pip命令,一定不要自己想当然的 pip install xxx、conda install xxx,版本装错了,很麻烦!

官网给的四个包,不要忘了安装:

$ pip install torch-scatter==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
$ pip install torch-sparse==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
$ pip install torch-cluster==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
$ pip install torch-spline-conv==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
$ python setup.py install or pip install torch-geometric

注意要把${CUDA} 替换成cu100或者cu101或者你的版本,+号和latest都不要变,torch-1.5.0最好也换成你自己的torch版本号,我换成了1.4.0,至于1.5.0是否有影响,这个我没有测试。

 

参考文献:

都在文章里了,经验:网贴可以看,但是以stackflow和外网为主,中网可以看,目的是懂得为什么会报错,但是实际操作不要按中网的来。外网也没有现成解决方案的,直接去官网上读文档。

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值