conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境

4cc4a42cb73512f72333b75d709063a5.png

背景

最近因为升级了Linux内核,导致之前安装的Nvidia driver崩溃,系统无法找到Nvidia driver。笔者索性重装了一遍系统,并因为对Ubuntu以及conda虚拟环境的不熟悉,导致尝试多次搭建深度学习环境失败,参考了数篇文章才得以搭建成功。编写此文的目的在于,总结此次搭建Pytorch环境所得到的经验教训,希望自己下次手贱把系统搞崩溃后再重装,能少走点弯路……

硬件

  1. CPU: Intel Core i7-4710HQ(对,你没有看错,这是一颗移动U,被魔改到B85平台……华强北赛高)
  2. GPU: Nvidia GTX1660 super
  3. RAM: 8G*2
  4. 芯片组:B85

软件:

  • System: Ubuntu 18.04.5,Linux kernel version: 5.4.0-42-generic,GCC version: 7.5.0
  • Software: Vim, Anaconda3, Pycharm Community, cuda_10.1.105_418.39_linux.run, cuDNN-10.1-linux-x64-v8.0.3.33.tgz(后文会指导如何下载安装)

必要步骤:

Step1: 禁用主板secure boot选项

开机后进入BIOS,找到secure boot这一选项并关闭。这一步主要看各位主板厂商的BIOS设定。

Step2: 安装英伟达驱动

首先,关闭软件自动更新,以后有提示更新也不要安装。

055857c312ecbf82289d897a1a8627e8.png

其次,更改ubuntu软件下载源,改为清华源,进settings -> Download from:

0034f982a9d7a2afb3e768c6dfd47fbd.png

最后,在Additional Drivers里选择tested驱动程序:

1515e063e8d7397ce865e6154368f7ea.png

安装完成后重启,再次进入桌面后打开terminal,输入指令'nvidia-smi'以检查是否成功安装英伟达显示驱动。

1264f65c78a2c993b034b5ff5f727440.png
这里的cuda Version并不是指已经安装了cuda,而是指该驱动最高能支持的cuda版本

Step3: 安装Anaconda,并配置conda

下载网址:

Anaconda | Individual Edition​www.anaconda.com
290b06c39f33a3632e270e88c1d557c2.png

一、安装anaconda:

由于是Ubuntu,选择Linux 64-bit x86版本。我下载好的文件名为Anaconda3-2020.02-Linux-x86_64.sh,使用指令'bash Anaconda3-2020.02-Linux-x86_64.sh' 进行安装。

5bc223e4d0e327744d3e268af3e3c479.png

一路enter下去,最后选择yes,在进行到下图这一步(添加进系统路径)时,选择yes或者no都没什么问题,官方推荐yes:

8b121dfe33a59c230922924e28a84051.png

这里选择no,(若反悔,需要yes,在安装完成后,Terminal里输入指令'source /home/__usr_name_/anaconda3/bin/activate'+'conda init' 即可)

二、配置conda:

配置conda需要vim,安装vim指令:'sudo apt-get install vim'需要输入系统密码:

85675dcdf169d4f0ac96d72ed64c8af3.png

配置conda环境变量,cd到系统根目录输入指令'sudo vim .bashrc',在.bashrc文件末尾添加如下几行:

# distinguish anaconda python with system built python
alias python3="/usr/bin/python3.6"
alias python2="/usr/bin/python2.7"

# add environmental variables
. /home/richardhu/anaconda3/etc/profile.d/conda.sh

编写完毕后,按esc+指令':wq!' 退出vim:

b5e8a0fdd5c2da685076ed9e756333f6.png

执行刚修改后的 .bashrc文档,输入指令'source .bashrc',再查看下创建的环境变量:'conda env list'

9acd988fdcc45295f5763ece11113652.png

由于是刚装的系统,目前只有base这个环境,下面会介绍如何创建虚拟环境。

三、更改conda下载源:

conda是非常强大的python包管理器,可以在命令行自动检测环境所需要的包,以及是否需要更新python包,conda默认是从境外网站获取数据,可以更改到国内网站,提高连接速度。以更改清华源为例,输入指令:

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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

7fa16e07b5753c8afcbe4d313a2ec31f.png

四、创建新的虚拟环境:

以需要使用到pytorch进行图像识别为例,建立一个名为pytorch的虚拟环境。输入指令:'conda create -n pytorch python=3.7'

86d469e03b51a6cd77c4cb9a00a2e104.png

经过conda的分析后,一般会提示以下包需要安装,同意安装即可。

321a31ccd87addb387015e3cb4bc7b6d.png

需要注意的是,base与pytorch这两个环境里的python version可以是不一样的,见下图。

9bc804b9a729d8be34c67ed2197328e0.png
python 3.7.6 in base

716289887eec5413998b7163dfba36b9.png
python3.7.8 in pytorch env

这就体现了虚拟环境的好处,我们可以根据自己的需要,安装特定版本的包以实现不同的项目需求。

需要注意,轻易不要使用指令'conda update --all',极易造成包与系统兼容性问题。

Step4: 安装cuda以及cuDNN。

安装时需要注意以下几点:

  1. pytorch目前只发布了支持到cuda-10.2的stable版本,而Nvidia官方已经更新到cuda-11.0.3,为了稳定性以及兼容性,建议不要安装高于10.2的版本。
  2. 安装cuda有严格的Gcc版本需求,见下图。系统的Gcc版本不得低于表中所列。

8f18321631f6381bf2a6f36f8bd53984.png

3. cuDNN与cuda版本有对应,下载时需注意。

49f52d5e8365d6406f022f800cb2bf65.png

一、查看gcc version:

输入指令 'gcc --version'

01423bcc7d6fe9f2f1ba1c374fedd1e3.png

二、安装cuda:

获取cuda包并安装,官方有说明:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal​developer.nvidia.com

8cc7920ae9094d04e317317dccb45a8e.png

由于官网指令推荐安装cuda-11.0,不采用之,需自己寻找相应的cuda-10.x包,这里以我自己下的cuda-10.1.run文件为例。

在存储cuda的文件夹里打开Terminal,输入指令'sudo sh cuda_10.1.105_418.39_linux.run'

db4de5739462f12ace37a581437b8345.png

输入密码后等待片刻,便可进入安装界面如下:

b9926e3416fd7f8017ca6d8cf99bcaf1.png

输入accept后便来到安装组件选择,由于之前已经安装过Nvidia Driver,这里取消勾选:

b7a5be034b5ba6e1c06cd7c4fae4c5f5.png

安装成功后的界面如下:

6b336d8de794b7c498ea8070badbd9bb.png

cd到根目录,输入指令'sudo vim ~/.bashrc',为cuda配置环境变量

600dd44e213d109095e05c9a8e4c12f7.png

在 .bashrc 里输入如下指令:

export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

3b114d6df0a3f27a7f348dbdcbef1f1f.png

输入完毕后,esc + ':wq!' 退出vim

关机重启后,打开terminal,输入指令'nvcc -V' 以检查cuda是否安装成功。

bf56149c551e886f38187fc23bc7155b.png

三、安装cuDNN:

下载地址:

https://developer.nvidia.com/cudnn​developer.nvidia.com

这里以cuDNN-8.3版本为例,下载好的文件类型为.tgz。

在存放cuDNN的文件夹打开terminal,输入指令'tar xzvf cudnn-10.1-linux-x64-v8.0.3.33.tgz' 以解压文件。

144addf1be75ca96bc80788493b75d71.png

解压完成后,继续输入指令如下:

sudo cp cuda/include/cudnn.h  /usr/local/cuda-10.1/include
sudo cp cuda/lib64/libcudnn*  /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h  /usr/local/cuda-10.1/lib64/libcudnn*

目的是将cudnn的include和lib64文件夹复制到cuda中。

354a2835e459e44ce7a93a2744f9debb.png

Step5: 搭建Pytorch-GPU框架

输入指令'conda install pytorch=1.5 torchvision cudatoolkit=10.1 -c pytorch'

f4d5d7097977c79e4c344401ccfe599a.png

需要注意的是,你极有可能从清华源或者其他源获得的版本是Pytorch build for CPU,

d0fc9a43918297c2eee7aadf4580e65c.png

一定要检查pytorch build for GPU,检查方法如下:

  1. 确保指令'nvidia-smi' 'nvcc -V' 有正确结果输出。
  2. 进入你建立的虚拟环境,输入指令'python'

ab9d484f8ae753aa1185b6cab25bd922.png

3. 输入代码:

import 

如果输出的结果为false,则表示pytorch无法使用GPU资源进行运算,需要自寻方法解决。

如果输出的结果为true,则表示pytorch build for GPU搭建成功。

Step6: 安装Pycharm开发环境

Pycharm是一款来自JetBrains公司的强大的Python IDE,它可以为每个创建的project调用指定的conda虚拟环境(如上文创建的名为pytorch虚拟环境)python解释器。下载地址如下:

Download PyCharm: Python IDE for Professional Developers by JetBrains​www.jetbrains.com
33abe8500c93cc4effdad74ac7e59d2b.png

由于已事先准备好pycharm安装包,以此为例,在存储路径打开terminal,输入指令'tar xzvf pycharm-community-2020.1.4.tar.gz'

295dffcb29fb7a7ad23c13c300453924.png

解压完成后,继续输入指令'cd pycharm-community-2020.1.4/bin/' +'sh pycharm.sh' 即可打开pycharm。

1a19e2d342e15f0e03eb901841958e62.png

在经过一些初始化设定后,进入settings -> project ____ -> Python Interpreter

aa2d007afecff4ec2698a4733c68a6d4.png

点击右边的小齿轮⚙,进入add Python Interpreter -> conda environment -> existing environment,选择你创建好的conda 虚拟环境。

至此,所有必要步骤已全部结束。


总结:

在Ubuntu 18.04版本上搭建基于Pytorch框架的深度学习环境,需要经历以下步骤:

  1. 禁用主板secure boot选项
  2. 安装英伟达驱动
  3. 安装Anaconda,并配置conda
  4. 安装cuda以及cuDNN
  5. 搭建Pytorch-GPU框架
  6. 安装Pycharm开发环境

本文参考了众多网络教程,也算是踩了n多坑,记下此文以待后日需要。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值