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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第1张图片

背景

最近因为升级了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: 安装英伟达驱动

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第2张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第3张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第4张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第5张图片
这里的cuda Version并不是指已经安装了cuda,而是指该驱动最高能支持的cuda版本

Step3: 安装Anaconda,并配置conda

下载网址:

Anaconda | Individual Edition​www.anaconda.com
conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第6张图片

一、安装anaconda:

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第7张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第8张图片

这里选择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:

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第9张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第10张图片

由于是刚装的系统,目前只有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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第11张图片

四、创建新的虚拟环境:

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第12张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第13张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第14张图片
python 3.7.6 in base

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第15张图片
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版本不得低于表中所列。

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第16张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第17张图片

一、查看gcc version:

输入指令 'gcc --version'

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第18张图片

二、安装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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第19张图片

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

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第20张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第21张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第22张图片

安装成功后的界面如下:

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第23张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第24张图片

在 .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}}

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第25张图片

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

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第26张图片

三、安装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' 以解压文件。

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第27张图片

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

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中。

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第28张图片

Step5: 搭建Pytorch-GPU框架

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第29张图片

需要注意的是,你极有可能从清华源或者其他源获得的版本是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
conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第30张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第31张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第32张图片

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

conda如何升级pytorch_在Ubuntu18.04上搭建Pytorch深度学习环境_第33张图片

点击右边的小齿轮⚙,进入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多坑,记下此文以待后日需要。

你可能感兴趣的:(pytorch,源,安装linux,pytorch)