Linux 搭建深度学习环境教程

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

## 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 驱动安装完成,重新启动,查看系统配置 ---> 详细信息 ---> 关于 ,图形处理是否对应于自己的独立显卡。

参考:《真实机下 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

原文地址:https://www.cnblogs.com/harrytsz520/p/12345042.html

时间: 2024-10-29 13:56:20

Linux 搭建深度学习环境教程的相关文章

Ubuntu 搭建深度学习框架 keras

深度学习框架Keras是基于Tensorflow的所以,安装keras需要安装Tensorflow: 1. 安装教程主要参考于两个博客的教程: https://www.cnblogs.com/HSLoveZL/archive/2017/10/27/7742606.html https://www.jianshu.com/p/5b708817f5d8?from=groupmessage 2. 本教程开始: Ubuntu安装的教程就略过了,直接从深度学习所需的环境的搭建开始说起 (需要说明的是,之所

[AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).windows上该环境的搭建 :) 前面三篇博客代码实现均基于该环境(开发或者测试过): [AI开发]Python+Tensorflow打造自己的计算机视觉API服务 [AI开发]基于深度学习的视频多目标跟踪实现 [AI开发]视频多目标跟踪高级版 运行环境 1) centOS 7.5 ,不要安装GUI桌面:

搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)

在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容.本文安装的主要环境和软件如下: Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0 显卡型号为Quadro K6000. 深度学习的另外一个比较常用的开发环境是CAFFE,由于之前的很多大牛基于CAFFE做了很多注明的模型,且已经发布到网上,故这套框架更适合于应用.但CAFFE安装起来异常复杂,需

用Qemu搭建x86_64学习环境

作者信息 作者:彭东林 邮箱:[email protected] QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gcc 具备的功能 模拟一个双核或者单核的x86_64架构的系统,根文件系统用ramdisk的形式,跟Host之间采用NFS的方式实现文件共享. 正文 1.Qemu的编译安装 请参考博文用qemu搭建aarch64学习环

用Qemu搭建aarch32学习环境

作者信息 作者: 彭东林 邮箱: [email protected] QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: arm-none-linux-gnueabi-gcc  (gcc version 4.8.3 20140320) 具备的功能 模拟一个vexpress 双核或者单核的环境,采用NFS跟Host共享一些文件,为了简单

Deep Learning 十_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)

前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 实验内容:Exercise:Convolution and Pooling.从2000张64*64的RGB图片(它是the STL10 Dataset的一个子集)中提取特征作为训练数据集,训练softmax分类器,然后从3200张64*64的RGB图片(它是th

Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep learning:二十九(Sparse coding练习) 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 本节实验比较不好理解也不好做,我看很多人最后也没得出好的结果,所以得花时间仔细理解才行. 实验内容:Exercise:Sparse Coding.从10张512*51

Deep Learning九之深度学习UFLDL教程:linear decoder_exercise(斯坦福大学深度学习教程)

前言 实验内容:Exercise:Learning color features with Sparse Autoencoders.即:利用线性解码器,从100000张8*8的RGB图像块中提取彩色特征,这些特征会被用于下一节的练习 理论知识:线性解码器和http://www.cnblogs.com/tornadomeet/archive/2013/04/08/3007435.html 实验基础说明: 1.为什么要用线性解码器,而不用前面用过的栈式自编码器等?即:线性解码器的作用? 这一点,Ng

Deep Learning 十一_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一步!如果说原始数据的获得,是深度学习中最重要的一步,那么获得原始数据之后对它的预处理更是重要的一部分. 1.数据预处理的方法: ①数据归一化: 简单缩放:对数据的每一个维度的值进行重新调节,使其在 [0,1]或[ − 1,1] 的区间内 逐样本均值消减:在每个样本上减去数据的统计平均值,用于平稳的数