图神经网络入门:搭建GNN环境
本教程是在Windows10下安装Pytorch(GPU版本,CPU版本比较简单,不需要CUDA、cudnn) ,CUDA ,cudnn,pyG
许多初学者,开始以为直接安装好上述的软件或者包就直接能用了,我一开始也是这么干的。但是是错误的。注意:上述软件或包版本要求一一对应!!!不能出错。
查询的连接在Pytorch官网Pytorch
如下图所示
torch torchvision python 版本对应表
NVIDIA驱动与CUDA版本对应表
查询方式如下图
在这里选择pytorch1.4版本。可以使用Anaconda安装,也可以直接用命令安装,建议使用Anaconda安装,后续安装各种包很方便,路径也好查到。关于Anaconda的安装可以查看我的另一篇文章Anaconda.参考前半部分即可。
在安装好Anaconda的前提下开始安装pytorch、cuda、cudnn、pyG.
- 1、在anaconda创建新的环境。
打开如下图的Anaconda Prompt
conda环境配置命令如下:
#创建新环境命令
conda create -n pyG python=3.6 #pyG是环境名字
#删除环境命令
conda remove -n pyG --all
#激活环境
source activate pyG # 有的提示使用 conda actiavte pyG
#退出环境
source deactivate pyG #有的提示使用 conda deactivate pyG
- 2、在pyG环境下安装pytorch1.4
输入命令:
# CUDA 10.1
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
根据提示操作即可。安装后测试
python #进入python编译环境
import torch
print(torch.__version__)
#注意版本号!!!
- 3、安装CUDA
进入CUDA官网CUDA
注意选择版本号,上一步安装pytorch时,命令的后段中 cudatoolkit=10.1 。所以必须按照这个版本的。
**下载安装即可,注意安装时,不要选择推荐安装,选择自定义安装,自己选择安装的路径,一开始提示的路径不是安装路径,只是一个临时解压路径,安装好就消失了。**其他的步骤默认即可。
安装后测试cuda版本
nvcc -V
nvcc -version
-
4、安装cudnn,这是一个加速处理。(注意版本号与CUDA对应)
可以直接去官网下载cudnn。常常遇到文件失效或者链接不存在,那就baidu一下,网上有很多资源可以下载。解压后,将其中的文件复制到上一步安装CUDA对应的路径文件下即可! -
5、开始安装Pytorch geometric 。(这里安装1.4.3版本)
先测试之前的安装是否成功!!!
#1、测试Pytorch 1.4.0
import torch
print(torch.__version__)
#1.4.0
#2、测试CUDA 10.1
import torch
print(torch.cuda.is_available())
# True
#在终端测试 nvcc
nvcc --version
#10.1
开始安装pytorch geometric相关包
$ pip install torch-scatter==latest+cu101 -f https://pytorch-geometric.com/whl/torch-1.4.0.html
$ pip install torch-sparse==latest+cu101 -f https://pytorch-geometric.com/whl/torch-1.4.0.html
$ pip install torch-cluster==latest+cu101 -f https://pytorch-geometric.com/whl/torch-1.4.0.html
$ pip install torch-spline-conv==latest+cu101 -f https://pytorch-geometric.com/whl/torch-1.4.0.html
$ python setup.py install or pip install torch-geometric
也可以下先下载包到本地,在执行pip命令比较快。(推荐)
下载地址前四个命令对应的包
注意版本号,以及CPU还是GPU、cu101,cp36 (例如torch_cluster-1.5.3+cu101-cp36-cp36m-win_amd64.whl)
下载好后,pip命令安装
pip install torch_cluster-1.5.3+cu101-cp36-cp36m-win_amd64.whl
pip install torch_spline_conv-latest+cu101-cp36-cp36m-win_amd64.whl
pip install torch_sparse-latest+cu101-cp36-cp36m-win_amd64.whl
pip install torch_scatter-2.0.3+cu101-cp36-cp36m-win_amd64.whl
pip install torch-geometric
测试是否安装成功
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)
# Data(edge_index=[2, 4], x=[3, 1])
#整理不容易,小白入门必看。