Linux 搭建深度学习环境教程

Notes:

⭐️ 开门见山:使用 Anaconda 直接搞定 Linux Nvidia 驱动这个千年难题 ⭐️

重点: 关于这个问题,今天我来总结一篇专治头疼的药方:只需要安装 Anaconda ,使用 conda 安装 Pytorch 或者 Tensorflow-gpu 即可。 conda 会自动帮助我们安装好几乎所有必需的驱动,可谓是一键式安装,简直是我等“菜鸡”们的福音!!!
I Love Anaconda ❤️❤️❤️

1. Linux 发行版选择与启动盘制作

启动盘制作

  • Rufus : 系统盘制作神器,下载好系统软件到本地之后,运行 rufus.exe ,选择好系统软件即可制作好系统启动 U 盘, 简单到没有套路。

2. 更换国内源

如果发现 pip 或 conda install 安装速度过慢,可以更换国内源。

参考:《conda安装Pytorch下载过慢解决办法(7月23日更新ubuntu下pytorch1.1安装方法)


Deepin:

 sudo vim /etc/apt/sources.list

将 Deepin 官方源改成:

## Generated by deepin-installer
## 将官方源禁用
## deb [by-hash=force] http://packages.deepin.com/deepin panda main contrib non-free

## 设置清华大学开源软件镜像站
deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin panda main contrib non-free

## 如果设置阿里云,则将地址设置为
deb [by-hash=force] https://mirrors.aliyun.com/deepin/ panda main contrib non-free
#deb-src http://packages.deepin.com/deepin panda main contrib non-free
  • pip 更换国内源
    1)临时更换
 pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
  • conda 更换国内源
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 --set show_channel_urls yes

另外为了保险起见,建议同时添加第三方conda源:

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/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

3. Linux 显卡驱动安装与验证


Ubuntu:

step 1 : 首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:

 ubuntu-drivers devices

输出结果为:

== /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GK104 [GeForce GTX 1050 Ti]
driver   : nvidia-430 - distro non-free
driver   : nvidia-440 - distro non-free recommended
driver   : nvidia-390 - distro non-free 
driver   : xserver-xorg-video-nouveau - distro free builtin
 
== cpu-microcode.py ==
driver   : intel-microcode - distro free

从中可以看到,这里有一个设备是 GTX 1050 Ti ,对应的驱动是 NVIDIA - 430, 440, 390 ,而推荐是安装 440 版本的驱动。\


Deepin:

  1. 打开启动器,找到显卡驱动管理器(自带,没有的话在Deepin应用商店内安装)。
  2. 选择 使用闭源驱动,在Deepin系统提示下,经过若干次数的重启系统,即可完成闭源驱动的切换。查看系统默认的闭源驱动版本号是否满足需求,如果驱动版本太低,需要更新驱动。
  3. 更新 Nvidia 闭源驱动:Nvidia 官网选择对应显卡的驱动,下载 Nvidia-Linux-x86_64-440.36.run (此版本号要与Deepin闭源驱动版本一致或兼容)文件到本地,高版本会覆盖低版本的驱动,因此不用卸载以前的低版本驱动。
  4. 在 Deepin 桌面按下 Ctrl + Alt + F4 进入控制台界面(黑命令行模式),输入用户名和密码登录,接下来是至关重要的一步:关闭图形界面
sudo service lightdm stop

或者

sudo telinit 3

cd 进入 Nvidia-Linux-x86_64-440.36.run 文件所在的路径,给安装包加权限:

sudo chmod a+x NVIDIA-Linux-x86_64-440.36.run
sudo bash ./NVIDIA-Linux-x86_64-440.36.run

⭐️⭐️⭐️⭐️根据系统提示进行操作,重新安装 440.36 版本的驱动, 不出意外的话就能顺利更新闭源驱动,但是这一步通常会遇到系统报错,由于没有及时记录报错信息,此处仅仅描述一种我曾遇到的报错,大意是:不能同时使用两套安装 NVIDIA-Linux-x86_64-440.36.run 的方式,需要手动删除一种。解决方案是:cd 进入系统报错提示的路径中,rm 删除掉其中一种安装 run 的文件,回到 NVIDIA-Linux-x86_64-440.36.run 所在位置重新运行 sudo bash ./NVIDIA-Linux-x86_64-440.36.run 即可。正是这一步操作,解决了我无数次都装不上 Nvidia 驱动的难题,此处暂时只遇到这一种异常,解决之后就可以顺畅更新 Nvidia 驱动。⭐️⭐️⭐️⭐️


step 2 : 安装驱动

Ubuntu:

你可以选择,安装所有推荐的驱动,如下命令

 sudo ubuntu-drivers autoinstall

你也可以选择,只安装其中一个驱动,命令如下

 sudo apt install nvidia-440

OK 驱动安装完成,重新启动,查看系统配置 —> 详细信息 —> 关于 ,图形处理是否对应于自己的独立显卡或者执行 nvidia-smi 查看驱动是否已经安装成功

参考:《真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)


Deepin :

Deepin 可以通过系统自带的显卡驱动管理器查看

通过以下链接,在 Nvidia 官网上查看对应 Linux 系统驱动型号的 cudatoolkit 型号

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

4. 通过 Anaconda 安装 Pytorch ,Tensorflow-gpu

安装 Anaconda :

bash Anaconda3-2019.10-Linux-x86_64.sh

执行完,检验 Anaconda 是否安装成功:

conda --version

如果发现 Ubuntu 提示没有 conda 命令,则需要进一步配置 Anaconda 的路径:

 export PATH=~/anaconda3/bin:$PATH
 source ~/.bashrc

再次测试!

创建 Anaconda 虚拟环境

关于虚拟环境参考:《Anaconda环境安装GPU版本Pytorch

Anaconda 成功安装后,可以使用 conda 创建虚拟工作环境:

conda create -n your_env_name python=3.7

激活虚拟环境:

conda activate your_env_name 

虚拟环境中也可以添加 conda 国内源:

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/pytorch/
conda config --set show_channel_urls yes

使用 conda 安装 pytorch,首先需要在 PyTorch 官网查看适合系统的版本号:

复制以上命令在本地运行:

 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

Note: 由于一开始更换了国内源,此时使用 conda 安装速度会非常快,如果异常缓慢需要检查是否成功更换源!

 conda install tensorflow-gpu
或
 conda install pytorch torchvision cudatoolkit=10.0

Tensorflow-gpu 或 Pytorch 成功安装后,可以进行以下的测试:

5. GPU 环境测试

>>> import torch
>>> print(torch.cuda.is_available())
True

或者

>>> import tensorflow as tf
>>> print(tf.test.is_gpu_available())
True

Congratulation !!!

torch.cuda.is_available() = False 的解决办法:

  • 去 NVIDIA 官网查看 gcc 版本号是否匹配,重新安装对应的 gcc ,g++ 之后重新使用 conda 安装 PyTorch
Logo

更多推荐