前面我们已经在windows10环境下成功安装了CPU版本的Pytorch,推荐的是利用Anaconda安装。

经过接近一天的奋战,博主成功在linux系统安装GPU加速的pytorch,博主使用的发行版是Ubuntu18.04。

说一下CUDA和CUDNN都是啥吧。

CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。

CUDNN是用于深度神经网络的GPU加速库。

具体参考博客:

https://blog.csdn.net/qq_28660035/article/details/80959752

https://blog.csdn.net/fangjin_kl/article/details/53906874

一、安装Anaconda

linux下安装Anaconda很简单,步骤和前一篇在windows下安装的步骤相似。

1.下载Anaconda

这个过程就不重新说一遍了,还是老话,去镜像源下载,去镜像源下载,去镜像源下载,因为官网太慢了!然后选择的版本是linux下的,根据自己的电脑操作位数选择32还是64位。

镜像下载地址和修改方法参考前一篇博客:https://blog.csdn.net/wuzhiwuweisun/article/details/82689151

这里我下载的是Anaconda3-5.0.1-Linux-x86_64.sh,自带的python的版本是3.6。百度云链接还有一个Anaconda是3.4.3的,自带的python版本是3.5的。

这里贴一下百度云的链接:链接:https://pan.baidu.com/s/15N7KdtxkChOH7WsMaC_IJQ  提取码:286y

2.安装Anaconda

这个比windows简单,一条命令。

首先切换到anaconda安装包的路径,在该路径下执行指令:

sh Anaconda3-5.0.1-Linux-x86_64.sh   #后边的文件名称是你的安装包的名称

后边的话就很简单了。

Welcome to Anaconda3 5.0.1In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 按回车
#然后一直按回车到协议完毕
#出现:
Do you accept the license terms? [yes|no]
>>>输入yes
#下面就是问你安装目录,建议就是默认的安装路径,直接按回车
Anaconda3 will now be installed into this location:
/home/mayunteng/anaconda3- Press ENTER to confirm the location- Press CTRL-C to abort the installation- Or specify a different location below[/home/mayunteng/anaconda3] >>> 按回车
#接下来就是等待安装完成
#注意安装完成以后会询问你是否把anaconda3的路径加到环境变量里去,一定要选yes,一定要选yes,一定要选yes。

安装完成以后,重启终端,依次输入下面的指令,如果显示的是anaconda版本的python,代表安装成功。

先输入:source ~/.bashrc
再输入:python
显示的python版本后面有Anaconda标识,代表安装成功
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
#退出python的命令交互行输入exit()回车就可以了。

我们也可以输入conda list 查看安装的库。

输入:conda list
显示(已经安装好的库):
# packages in environment at /home/mayunteng/anaconda3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0            py36he11e457_0    defaults
alabaster                 0.7.10           py36h306e16b_0    defaults
anaconda                  5.0.1            py36hd30a520_1    defaults
anaconda-client           1.6.5            py36h19c0dcd_0    defaults
anaconda-navigator        1.6.9            py36h11ddaaa_0    defaults
anaconda-project          0.8.0            py36h29abdf5_0    defaults
asn1crypto                0.22.0           py36h265ca7c_1    defaults
astroid                   1.5.3            py36hbdb9df2_0    defaults
astropy                   2.0.2            py36ha51211e_4    defaults
babel                     2.5.0            py36h7d14adf_0    defaults
backports                 1.0              py36hfa02d7e_1    defaults
backports.shutil_get_terminal_size 1.0.0            py36hfea85ff_2    defaults
beautifulsoup4            4.6.0            py36h49b8c8c_1    defaults
bitarray                  0.8.1            py36h5834eb8_0    defaults
bkcharts                  0.2              py36h735825a_0    defaults
blas                      1.0                         mkl    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
blaze                     0.11.3           py36h4e06776_0    defaults
bleach                    2.0.0            py36h688b259_0    defaults
bokeh                     0.12.10          py36hbb0e44a_0    defaults
boto                      2.48.0           py36h6e4cd66_1    defaults
bottleneck                1.2.1            py36haac1ea0_0    defaults
bzip2                     1.0.6                h0376d23_1    defaults

输入下面的指令可以启动Spyder, IPython, Jupyter Notebook,Anaconda Navigator 。

spyder  #打开Spyder
ipython #打开IPython
jupyter notebook  #打开Jupyter notebook
anaconda-navigator #打开Anaconda Navigator

PS:若在前边没有把Anaconda3的路径加到环境变量中,可以这么修改:

在命令行输入:
sudo gedit ~/.bashrc
打开bashrc文件后在末尾输入下面的语句:
export PATH="/home/mayunteng/anaconda3/bin:$PATH" #/home/mayunteng/anaconda3/替换成你的安装路径
关闭bashrc文件后,在命令行输入:
source .bashrc #使更新的环境变量立即生效

二、安装CUDA和CUDNN

1. 检测NVIDIA图形卡是否支持GPU运算

在安装之前你要先查看你的电脑是否支持GPU运算,否则你也不用安装了。

先查看自己电脑的显卡型号。

可以去终端输入命令查看:

输入:
ubuntu-drivers devices
输出显示:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001380sv00001B4Csd0000105Fbc03sc00i00
vendor   : NVIDIA Corporation
model    : GM107 [GeForce GTX 750 Ti]#这个就是图形卡类型
driver   : nvidia-340 - distro non-free
driver   : nvidia-driver-390 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

这里可以看到我的图形卡是GTX 750 Ti。

拿着这个图形卡驱动到NAVIDIA官网去查是不是支持GPU运算。

网址是:https://developer.nvidia.com/cuda-gpus

打开后的界面大致如下,只要里边有你的型号就可以用GPU运算:

2. 安装推荐的显卡驱动程序

第一种方法(推荐):

首先打开linux系统(Ubuntu18.04)设置中的"软件和更新"部分,然后打开,找到“附加驱动”,打开后安装系统推荐的驱动。

找到“附加驱动”,安装推荐的驱动,最后点击应用。

然后就是静静等待安装完成就可以了。安装完成后记得重启电脑!重启电脑!重启电脑!

这种方法的好处就是不易出错,配置的话电脑都给你做好了。

最后验证是否安装成功,输入 sudo nvidia-smi

输入:sudo nvidia-smi
显示下面的信息代表图形显卡驱动安装成功:
Tue Sep 18 16:40:36 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 750 Ti  Off  | 00000000:01:00.0  On |                  N/A |
| 38%   32C    P8     1W /  38W |    254MiB /  1999MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1126      G   /usr/lib/xorg/Xorg                            11MiB |
|    0      1217      G   /usr/bin/gnome-shell                          49MiB |
|    0      1399      G   /usr/lib/xorg/Xorg                            69MiB |
|    0      1529      G   /usr/bin/gnome-shell                         116MiB |
|    0      2946      G   /usr/lib/firefox/firefox                       1MiB |
+-----------------------------------------------------------------------------+

最好找到系统设置的“详细信息”部分,查看一下自己的图形卡是否已经是GTX 750 Ti。

第二种方法(我没尝试过):

参考博客:

https://blog.csdn.net/u012328159/article/details/80959454

https://blog.csdn.net/flowrush/article/details/80744787

3.给GCC手动降级

这里参考博客:

https://blog.csdn.net/u010801439/article/details/80483036

由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,手动降级:

sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8

注意如果装caffe,gcc一定要5.0以上

装完后进入到/usr/bin目录下,执行 ls -l gcc*

输入:
ls -l gcc*
显示(我这里由于已经改过了,所以第一行是链接到4.8了,原来的是链接到7.3):
lrwxrwxrwx 1 root root      7 9月  12 20:43 gcc -> gcc-4.8
-rwxr-xr-x 1 root root 772280 3月  19  2018 gcc-4.8
lrwxrwxrwx 1 root root     22 4月  15 12:52 gcc-7 -> x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root      8 4月   7 02:04 gcc-ar -> gcc-ar-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ar-4.8
lrwxrwxrwx 1 root root     25 4月  15 12:52 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root      5 4月   7 02:04 gcc.bak -> gcc-7
lrwxrwxrwx 1 root root      8 4月   7 02:04 gcc-nm -> gcc-nm-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-nm-4.8
lrwxrwxrwx 1 root root     25 4月  15 12:52 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root     12 4月   7 02:04 gcc-ranlib -> gcc-ranlib-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ranlib-4.8
lrwxrwxrwx 1 root root     29 4月  15 12:52 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7

发现gcc链接到gcc-7.3, 需要将它改为链接到gcc-4.8,方法如下:

sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接

对g++做同样的修改:

ls -l g++*
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++

最后看gcc和g++版本号,如果是4.8代表修改成功:

mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ gcc --version
gcc (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ g++ --version
g++ (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

4. 安装CUDA

这里重点参考这两篇博客进行:

https://www.jianshu.com/p/ea169536850f(推荐)

https://blog.csdn.net/flowrush/article/details/80744787

我是选择的CUDA 9.0和CUDNN 7.05

只要记住CUDA的选择要根据CUDNN的型号来选,即CUDA的版本一定要和CUDNN的版本对应,必须是CUDNN支持的版本!

首先去官网下载CUDA安装包,注意根据你的系统选,最后一项选择runfile(local)。

CUDA最新版下载地址:https://developer.nvidia.com/cuda-downloads

以前版本的CUDA:https://developer.nvidia.com/cuda-toolkit-archive

找到我要下载的CUDA 9.0版本下载,时间有点长,下完安装就好了,几个小的更新包可以不安装。

这里提供我搭建的环境需要的安装包,即Ubuntu18.04,64位系统的CUDA安装包,以及对应的CUDNN,Pytorch安装包。

百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

进入刚刚下载的CUDA包的路径,执行命令:

sudo sh cuda_9.0.176_384.81_linux.run

然后按照下面的执行:

Do you accept the previously read EULA? (accept/decline/quit): accept You are attemptingto install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n
Install the CUDA 8.0 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y Install the CUDA 8.0 Samples? ((y)es/(n)o/(q)uit): y Enter CUDA Samples Location [ default is /home/kyle ]:

其实就是除了第二个安装图形驱动因为之前安装过选择no,其他就是yes或者默认。

安装完成在倒数几行出现警告,不用管:


***WARNING: Incomplete installation!

5 配置CUDA的环境变量

打开.bashrc文件,在终端输入:

sudo gedit ~/.bashrc

在文件的末尾添加下面两行,注意修改成你的安装路径:

export PATH="/usr/local/cuda-9.0/bin:$PATH" #这里添加路径出错的话最好加上双引号把路径括起来,这里已经加上了双引号
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"

测试一下CUDA是否安装成功:

输入:
nvcc -V
显示:、
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

6 编译 CUDA Samples

进入samples的安装目录,选择一个看看是否可以成功编译。

mayunteng@mayunteng-OptiPlex-7040:~$ cd NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd
mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ make
mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

出现上面的Test PASSED代表CUDA安装成功。

7 安装CUDNN

首先是下载CUDNN,前面在下载CUDA的时候就已经说过,CUDA要对应CUDNN的版本,我选择的是CUDA9.0+CUDNN7.05的版本。

下载的话要先注册一个账号,然后才能下载。不过重点提醒的是注册和登陆的时候要科学上网(fanqiang)才可以!否则进不去!

官网:https://developer.nvidia.com/cudnn

这里我的cudnn文件百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

CUDNN下载可参考博客https://blog.csdn.net/u010801439/article/details/80483036里边的步骤。

首先解压压缩包,然后执行:

先进入压缩包解压后的路径,再执行下面的指令
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

到此,CUDNN安装完成!

8 安装Pytorch

可以参考博客:https://blog.csdn.net/red_stone1/article/details/78727096

这里推荐使用离线安装,不易出错,一劳永逸。

安装包下载地址:https://pytorch.org/previous-versions/

这里我下载的是cu90/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl版本的,0.3.0代表torch的版本,cp36代表支持的python版本,我的是python是3.6所以选择了cp36,linux_x86_64代表linux系统下的64位版本,cu90代表支持cuda9.0版本。

我的安装包百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

进入安装包的路径,执行:

 pip install torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl 

接着执行:

pip install torchvision

然后验证pytorch和torchvision是否安装成功,在python命令行输入import torch,无警告代表成功。

mayunteng@mayunteng-OptiPlex-7040:~/Newpack$ python
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> 

至此,Pytorch安装成功!

最后,我们测试一下安装完这些能不能使用GPU加速:

打开Jupyter Notebook或者IPython,输入以下命令:

import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
if t.cuda.is_available():x = x.cuda()y = y.cuda()print(x+y)

最后输出下面的界面代表成功调用GPU加速,否则没有成功调用。

 0.0624  1.3100  1.04621.3511  1.1635  1.19070.8890  1.0524  1.04771.5921  1.0428  0.60460.3175  0.9421  1.4520
[torch.cuda.FloatTensor of size 5x3 (GPU 0)]

真心好累,后续有问题会补充......

Ubuntu18.04下安装深度学习框架Pytorch(GPU加速)相关推荐

  1. 手把手教你在Windows10环境下安装深度学习框架(pytorch or tensorflow)

    手把手教你在Windows10环境下安装深度学习框架(pytorch or tensorflow) 1. 安装Anaconda:(常用的python版本和各类包管理器) 1.1. 下载地址: 1.2. ...

  2. 第04课:深度学习框架 PyTorch

    随着深度学习的研究热潮持续高涨,各种开源深度学习框架也层出不穷,包括 TensorFlow.PyTorch.Caffe2.Keras.CNTK.MXNet.Paddle.DeepLearning4.L ...

  3. Ubuntu18.04系统安装及深度学习框架搭建

    Q:为什么会写下这个博客呢? S:因为我自己搭配了三四次环境了,每次都会出现不同的bug,从最初的两周,到最后的一天就可以搭完环境.对这个流程比较熟悉了,希望写下来对搭配环境的同学有所帮助. 注:本博 ...

  4. Ubuntu18.04与RTX1080Ti安装深度学习框架

    这里写自定义目录标题 本文系统为Ubuntu18.04,显卡为RTX 1080Ti,之前主要在Windows下跑深度学习,后来因为需要用到ROS,故需要在Ubuntu下使用深度学习,因此记录一下在Ub ...

  5. 环境搭建:docker + nvidia-docker 深度学习框架(GPU)

    docker + nvidia-docker 深度学习框架(GPU) 文章目录 docker + nvidia-docker 深度学习框架(GPU) 1. Docker CE 2. nvidia-do ...

  6. DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略

    DL框架之PyTorch:PyTorch的简介.安装.使用方法之详细攻略 DL框架之PyTorch:深度学习框架PyTorch的简介.安装.使用方法之详细攻略 目录 PyTorch的简介 1.pyto ...

  7. Ubuntu18.04+CUDA10.2 深度学习开发环境配置指南

    深度学习 Author:louwill Machine Learning Lab 搞深度学习环境永远是第一步.笔者之前也写过配置的两篇文章,但时间久远,目前来看版本已经过旧了.之前两篇参考: 深度学习 ...

  8. Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译)

    Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译) 环境介绍与注意事项 下载源文件 安装依赖 编译 环境配置 安装MXNet 测试 后记 环境介绍与注意事项 Ubun ...

  9. Ubuntu18.04系统搭建深度学习环境

    安装概要:显卡驱动+cuda11.7+cudnn+pip换源+Anaconda3+pycharm 『xxx』:代表软件名称 目录 1.系统换源 2.安装显卡驱动 3.安装cuda和cudnn 4.安装 ...

最新文章

  1. “百度杯”CTF比赛 十月场 Hash 复现
  2. hibernate 高级查询 query 或查询 or ,Restrictions
  3. 知识图谱实践篇(三):D2RQ SPARQL endpoint与两种交互方式
  4. 飞桨框架2.0正式版重磅发布,一次端到端的“基础设施”革新
  5. layui 多个文件上传控件 整合缩减代码
  6. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
  7. python矩阵所有元素取整_Python中如何对一个数值进行取整操作呢?
  8. linux 自动发邮件脚本,科学网—用linux脚本自动发送和收取邮件 - 周宇的博文
  9. easyUI表单验证扩展
  10. 基于高程的地面点云信息提取
  11. WEB应用程序--概述
  12. paip.读取WEB.XML中的参数值总结
  13. LODOP 打印插件使用
  14. php导出word样式控制,php导出word文档样式以及word文档分页
  15. 开源免费的私有聊天软件 Akaxin
  16. 清华大学百年校庆给清华大学的一封信
  17. JS返回到上一页的三种方法
  18. 背景图片随页面滚动放大缩小
  19. 【Java基本数据类型】Long和long的区别
  20. 牛客网-Java专项练习11

热门文章

  1. xp系统打印机服务器不可用,WinXP系统添加打印机操作无法完成如何解决?
  2. 【python】pip安装(No module named pip)
  3. 23_python笔记-psutil、mail模块
  4. 算法笔记【二】DFS
  5. Bug追踪_Bugly
  6. 从CPU cache一致性的角度看Linux spinlock的不可伸缩性(non-scalable)
  7. RMAN(Recovery Manager)架构
  8. 1 0.99999的悖论_揭开三个烧脑哲学悖论背后的道理
  9. 无刷直流电机(无传感器)学习 (2)
  10. 自定义注解实现AOP