因为上篇文章中安装的PyTorch版本是1.13,再安装PyTorchGeometric的时候发现最高支持的是1.12,所有只能在创建一个虚拟环境,再安装1.12的pytorch,再安装Geometric。
查看官方安装文档:
https://pytorch-geometric.rea...
1 创建虚拟环境PyG
conda create -n PyG python=3.9
如遇到问题,见上一篇。
2 安装Pytorch1.12版本
因为Pytorch1.12不是最新版,所以需要找到以前的版本进行安装,打开官网:
选择1.12版本,再看conda下面的内容,我笔记本没有独立显卡,就选择最下面的cpu版本:
拷贝安装命令:
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cpuonly -c pytorch
3安装pytorch-geometric
3.1 快速安装法
打开页面https://pytorch-geometric.rea...
里面有一种快速安装法,就是像之前安装pytorch一样,选择相关配置后,网页会自动生成一个命令,直接复制这个命令去安装,如下图所示。但网上有人说容易出问题,为了保险起见,我们选择官网上面的另外一种方法去一步步安装。
3.2Installation via Pip Wheels
首先检查自己之前安装的pytorch版本,以及CUDA版本,我这里用的cpu,所以CUDA版本会提示None。
(PyG) C:\Users\Administrator\anaconda3\envs\PyG>python -c "import torch; print(torch.__version__)"
>>>1.12.1
(PyG) C:\Users\Administrator\anaconda3\envs\PyG>python -c "import torch; print(torch.version.cuda)"
>>>None
第二步:按照官网的例子进行安装
需要三个pip命令:
pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-geometric
我当前的PyTorch版本是1.12.1,所以对应的${TORCH}值是1.12.0;我的CUDA版本是没有的,用cpu,所以${CUDA}的值对应是cpu,所以我当前环境安装的命令应该是:
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.12.0+cpu.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.12.0+cpu.html
pip install torch-geometric
第三步,运行命令
第一个命令运行完之后,成功。
第二个命令运行完之后,在安装过程中报错了,错误提示如下:
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
在pip安装过程中超时了,因为下载的文件40M,从国外下载过来速度比较慢,只有20k/s左右的速度,这时候需要设置pip的超时时间,把时间设置更长一些:
pip --default-timeout=10000 install torch-sparse -f https://data.pyg.org/whl/torch-1.12.0+cpu.html
安装成功,下载40M(scipy-1.9.3-cp39-cp39-win_amd64.whl (40.2 MB))的东西花了半个多小时,这速度确实耗不起啊
第三个命令,安装torch-geometric,吸取前面教训,延长pip的等待时长:pip --default-timeout=10000 install torch-geometric
安装成功
4 验证是否安装成功
去官网找一个例子,看看能不能运行。
找到这段代码试一下:
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)
看到结果成功输出,没有问题。
至此,PyTorch的用作图神经网络相关计算的torch-geometric包就安装成功了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。