Linux 搭建深度学习环境教程
Linux 搭建深度学习环境教程
Notes:
⭐ 开门见山:使用 Anaconda 直接搞定 Linux Nvidia 驱动这个千年难题 ⭐
重点: 关于这个问题,今天我来总结一篇专治头疼的药方:只需要安装 Anaconda ,使用 conda 安装 Pytorch 或者 Tensorflow-gpu 即可。 conda 会自动帮助我们安装好几乎所有必需的驱动,可谓是一键式安装,简直是我等“菜鸡”们的福音!!!
I Love Anaconda ❤️❤️❤️
1. Linux 发行版选择与启动盘制作
- Ubuntu 官网 (社区强大,不怕找不到问题的解决方案)
- Deepin 官网 (PS.看到国产系统的希望,美到令人窒息 ❤️)
- Linux 各大发行版世界排名 总有一款适合你😄 https://distrowatch.com/dwres.php?resource=popularity
启动盘制作
- 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
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:
- 打开启动器,找到显卡驱动管理器(自带,没有的话在Deepin应用商店内安装)。
- 选择 使用闭源驱动,在Deepin系统提示下,经过若干次数的重启系统,即可完成闭源驱动的切换。查看系统默认的闭源驱动版本号是否满足需求,如果驱动版本太低,需要更新驱动。
- 更新 Nvidia 闭源驱动:Nvidia 官网选择对应显卡的驱动,下载 Nvidia-Linux-x86_64-440.36.run (此版本号要与Deepin闭源驱动版本一致或兼容)文件到本地,高版本会覆盖低版本的驱动,因此不用卸载以前的低版本驱动。
- 在 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 驱动安装完成,重新启动,查看系统配置 ---> 详细信息 ---> 关于 ,图形处理是否对应于自己的独立显卡。
参考:《真实机下 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