1. 程式人生 > 程式設計 >Ubuntu配置Pytorch on Graph (PoG)環境過程圖解

Ubuntu配置Pytorch on Graph (PoG)環境過程圖解

最近準備復現一下 KDD-20 Towards Deeper Graph Neural Networks 的程式碼,順便學習一下 GCN 最新的一些進展。

GCN 的程式碼通常需要安裝 Pytorch on Graph,按照其 官方指導,發現無法相容當前所使用的伺服器上的 pytorch1.3 和 cuda10.0 環境,需要升級 cuda 和 pytorch 的版本。

於是準備重新安裝一個虛擬環境,使用上 cuda 10.2 和 pytorch1.6。

1. 安裝 Cuda10.2 以及對應版本的 Cudnn

安裝 cuda 10.2,

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

sudo sh cuda_10.2.89_440.33.01_linux.run

然後安裝對應版本的 cudnn

但由於當前機器上已經安裝了 cuda 10.0,因此想要找一些能夠切換的方法,不刪去當前的 cuda10.0,發現可以使用軟連結的方式進行切換

# 切換為 cuda 8.0 版本
rm -rf /usr/local/cuda #刪除之前建立的軟連結
sudo ln -s /usr/local/cuda-8.0/ /usr/local/cuda/
nvcc --version #檢視當前 cuda 版本

 nvcc: NVIDIA (R) Cuda compiler driver
 Copyright (c) 2005-2016 NVIDIA Corporation
 Built on Mon_Jan_23_12:24:11_CST_2017
 Cuda compilation tools,release 8.0,V8.0.62

# cuda8.0 切換到 cuda9.0 
rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0/ /usr/local/cuda/
nvcc --version

安裝 cuda10.2,這裡只安裝 Cuda Toolkit 10.2,不安裝 driver,因為之前 Cuda10.0 已經裝過 driver 了。

Ubuntu配置Pytorch on Graph (PoG)環境過程圖解

然後嘗試安裝 對應版本的 cudnn,在linux上

使用

wget "https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.3.33/10.2_20200825/cudnn-10.2-linux-x64-v8.0.3.33.tgz"

會導致一直顯示 403 Forbid 錯誤,但用 windows 瀏覽器可以訪問成功,用 windows 下載,但字尾名變為了 ".solitairetheme8",

mv cudnn-10.2-linux-x64-v8.0.3.33.solitairetheme8 cudnn-10.2-linux-x64-v8.0.3.33.tgz

接下來安裝 cudnn,注意到,現在有多個版本的 cuda 了,不要再使用軟連結 /usr/local/cuda/, 而應該使用對應版本的 cuda 地址。

使用 cd /usr/local/ 可以看到當前安裝的 cuda 的情況, 我這裡是:

Ubuntu配置Pytorch on Graph (PoG)環境過程圖解

使用如下命令完成 cudnn 的安裝:

tar -zxvf cudnn-10.2-linux-x64-v8.0.3.33.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64/
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*

從官網下載實在太慢,也可以改為設定為 清華源

# 首先執行如下幾條命令更換清華映象源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes

安裝結果:

Ubuntu配置Pytorch on Graph (PoG)環境過程圖解

突然發現,conda 也會安裝一個 cudatoolkit=10.2,但這個和自己手動安裝的還是有很大的不同的

安裝 pytorch1.7 一直沒有成功,最新版的 pytorch1.7 需要從國外官網源頭直接進行下載,速度太慢,一直失敗。
所以嘗試安裝 pytroch 1.5,

conda install pytorch=1.5

conda install torchvision

然後再按照 PoG 官網安裝相應的包:

pip install torch-scatter
pip install torch-sparse
pip install torch-cluster
pip install torch-spline-conv
pip install torch-geometric

最後終於成功完成了安裝。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。