Ubuntu配置Pytorch on Graph (PoG)环境过程图解


Posted in Python onNovember 19, 2020

最近准备复现一下 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

最后终于成功完成了安装。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
python如何为创建大量实例节省内存
Mar 20 Python
pandas Dataframe行列读取的实例
Jun 08 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 Python
Django项目基础配置和基本使用过程解析
Nov 25 Python
python实现滑雪者小游戏
Feb 22 Python
Python实现对adb命令封装
Mar 06 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
python基于pygame实现飞机大作战小游戏
Nov 19 #Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 #Python
python3 os进行嵌套操作的实例讲解
Nov 19 #Python
如何创建一个Flask项目并进行简单配置
Nov 18 #Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 #Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
Nov 18 #Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 #Python
You might like
php获得当前的脚本网址
2007/12/10 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
php实现的mongodb操作类
2015/05/28 PHP
Symfony的安装和配置方法
2016/03/17 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
Python pip 常用命令汇总
2020/10/19 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
中餐厅主管的职责范文
2014/02/04 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
妈妈活动方案
2014/08/15 职场文书
合作协议书范文
2014/08/20 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书