windows下如何安装torch-geometric
最近要看下IGMC的源码,发现代码中引用了torch-geometric库,所以需要安装下pytorch环境和对应的库。有点点坑,记录下。环境配置需要和作者保持一致,不然会有一些问题,作者的环境是 Python 3.8.1 + PyTorch 1.4.0 + PyTorch_Geometric 1.4.2。
1 创建虚拟环境
windows下安装各种深度学习环境通常是通过anaconda实现的,可以先下载个anaconda安装,我下载的是anaconda3。
安装好之后,使用conda命令创建一个虚拟环境,我们之后所有pytorch相关操作都在这个虚拟环境进行,这样可以防止对现有环境造成破坏。conda这个命令和virtualenv命令是类似的。
创建python3.6的虚拟环境(环境路径:anaconda安装目录的envs目录下):
1 | conda create --name python36 python=3.6 |
激活上述环境:
1 | activate python36 |
激活环境后就可以进行其它操作了。
查看现在的所有环境:
1 | conda info --env # 前面有‘*’星号的是当前环境 |
删除环境:
1 | conda deactivate # 先退出环境 |
这样携带python3.6的虚拟环境就做好了。
2 安装pytorch
pytorch-geometric的官方安装教程说需要安装至少pytorch1.4.0之上的版本,所以这里我们安装pytorch1.5,选择的cuda版本是10.2(有些版本在安装pytorch-geometric必要包的时候会报错,例如torch-scatter==latest+cu98
会报错,因为没有cuda9.8这个版本)。在Windows下,使用conda安装pytorch1.5命令如下(pytorch和cuda版本对应关系列表):
1 | # CUDA 10.2 |
安装完成后,可以使用命令查看下pytorch是否安装成功。
1 | python -c "import torch; print(torch.__version__)" |
如果出现对应版本号则说明安装成功。
3 安装pytorch-geometric
根据pytorch-geometric的官方安装教程安装是无法成功的,会提出找不到满足要求的包,网上找到一种方法(参考用户duanyuchen的【踩坑】Linux下配置torch-geometric),命令如下:
1 | pip install torch-scatter==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-${PyTorch}.html |
将上面命令中的${CUDA}
和${PyTorch}
替换成对应的版本号就好了,例如我们的${CUDA}
值是cu102,${PyTorch}
值是1.5.0。命令如下:
1 | pip install torch-scatter==latest+cu102 -f https://pytorch-geometric.com/whl/torch-1.5.0.html |
执行上述命令可能报错版本号无效的错误,,例如Invalid version: 'latest+cu102
,这是因为pip的版本太高了,回退到19.3.0就可以了[2]。pip版本回退命令:
1 | python -m pip install pip==版本(如19.3.0) |
这样pytorch-geometric安装完成了,最后在pycharm中设置python环境为新建的虚拟环境就可以了。
4 注意
- torch-geometric的版本必须是1.4.2,更高版本可能会报错:
torch.nn.modules.module.ModuleAttributeError: 'RGCNConv' object has no attribute 'att'
,因为GCNConv是引用其它的包,这个包在1.4.2有att属性,更高版本删除了。