torch-geometric的安装

torch-geometric 的安装。

torch-geometric的安装必须要求版本对应,否则会出现很多麻烦的问题。比如:

OSError: [WinError 127] 找不到指定的程序。

所以安装之前,仔细检查一下cuda版本,pytorch的版本等等。
此外,还要注意电脑安装的CUDA驱动和pytorch 中对CUDA支持包的版本是否对应,不对应同样会出错。

安装python环境

python的3.6版本很稳定,对很多包的依赖很好。conda对包的依赖处理的也很好,会减少很多报错。使用conda创建python的环境

# 创建环境 (3.6.13版本很好,没问题,推荐)
conda create -n my_hea python==3.6.13
# 进入环境
conda activate my_hea

我需要安装pymatgen软件。在这里一并记录下安装命令。后安装会产生库冲突的问题。

# 我选择了使用conda安装
conda install --channel conda-forge pymatgen

#此外,官方还给出了另外一种基于pip安装的方式。由于pip安装出了错误,尤其是安装spglib的时候。所以我还是用conda安装的。(在安装了torch等其他诸多包之后使用pip安装,出错。环境创建好了之后,新环境下直接安装依然出错。可能是pip没有相应依赖的包。)
# ERROR: Failed building wheel for spglib

conda install --yes numpy scipy matplotlib
pip install pymatgen

安装pytorch

官网目前更新到稳定的1.10版本了。根据需要选择conda或者pip,选择cuda的版本,提示下面的安装。

# 安装torch 
pip3 install torch==1.10.0+cu102 torchvision==0.11.1+cu102 torchaudio===0.10.0+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html

# 但是由于版本太高了,导致了找不到
#Looking in links: https://download.pytorch.org/whl/cu102/torch_stable.html
#ERROR: Could not find a version that satisfies the requirement torch==1.10.0+cu102 (from versions: none)
#ERROR: No matching distribution found for torch==1.10.0+cu102

# 找到之前版本的torch
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch

安装torch_geometric

# cuda是否可用,不必要。
python -c "import torch; print(torch.cuda.is_available())"
# 添加cuda的路径到系统的路径中。

# 至少需要1.4版本之上。
python -c "import torch; print(torch.__version__)"

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

我这边显示的为:

(hea) D:\GitProjects\HEA_project>python -c "import torch; print(torch.version.cuda)"
10.2

(hea) D:\GitProjects\HEA_project>python -c "import torch; print(torch.__version__)"
# 不成功:
>> 1.10.0
# 成功
>> 1.10.0+cu102


安装相应的包:

```python
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.10.0+cu102.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.10.0+cu102.html
pip install torch-geometric
此外还需要安装补充包(可选的),我也一并装了。

```python
pip install torch-cluster -f https://data.pyg.org/whl/torch-1.10.0+cu102.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-1.10.0+cu102.html

安装完成

检查

查看gpu是否能使用,查看torch-geometric是否还缺少什么包

# cuda
python -c "import torch; print(torch.cuda.is_available())"

# geometric
python -c "import torch_geometric; print(torch_geometric.__version__)"

补充

最近更新了新设备,用上了3090,目前pytorch版本太低,提示我不支持。因此重新安装环境。
目前3090需要11版本的CUDA 工具包,因此重新下载安装。
cuda包的文档库在下面的链接中。
https://developer.nvidia.com/cuda-toolkit-archive
一路使用默认选项直接安装。

在这里我使用了两个版本的cuda。一个是cuda11.1,另一个是cuda11.3。11.1在安装torch-geometric的时候出现了问题,暂时还没有找到原因,目前猜测就是莫名其妙的版本不匹配问题,因为我第二次安装11.3的cuda,python=3.8,torch = 1.10.0时,就很顺利,没有出现问题。
安装之后查询cuda版本

nvcc -V

创建python环境,安装torch

# 创建3.8版本的python
conda create -n hea python=3.8

# cuda 11.3的下载
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

# cuda 11.1的下载
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
# 查看文档库,找到1.10.0 https://data.pyg.org/whl/

###同样的,安装完成后进行测试
python -c "import torch; print(torch.cuda.is_available())"

python -c "import torch; print(torch.__version__)"

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

安装torch-geometric相应的包,把cuda版本修改成对应的简称即可。
例如,对于cuda11.3+torch1.10.0版本的安装。

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

安装完成,检查版本是否匹配

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

nvcc --version
>>> 11.3

对于cuda11.1+torch1.8.0版本的安装。

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.8.0+cu111.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.8.0+cu111.html
pip install torch-geometric
此外还需要安装补充包(可选的)。

```python
pip install torch-cluster -f https://data.pyg.org/whl/torch-1.10.0+cu102.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-1.10.0+cu102.html

你可能感兴趣的:(深度学习,pytorch,pytorch,深度学习,机器学习)