深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 环境配置
本节详细说明一下深度学习环境配置,Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6。
Python 3.6
首先安装 Python 3.6,这里使用 Anaconda 3 来安装,下载地址:https://www.anaconda.com/download/#linux,点击 Download 按钮下载即可,这里下载的是 Anaconda 3-5.1 版本,如果下载速度过慢可以选择使用清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/。
下载下来之后目录下会出现一个 Anaconda3-5.1.0-Linux-x86_64.sh 文件,然后直接执行即可安装:
|
1
|
bash Anaconda3-5.1.0-Linux-x86_64.sh
|
执行完毕之后按照默认设置走下来即可完成安装。
这里默认它会安装到用户目录下,如果想全局安装,可以在这一步输入你要安装的地址:
|
1
2
3
4
5
6
7
8
9
|
Anaconda3 will now be installed into this location:
/home/cqc/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/cqc/anaconda3] >>> /usr/local/anaconda3
PREFIX=/usr/local/anaconda3
|
这里我指定了将其安装到 /usr/local/anaconda3 目录下,全局安装,所有用户共享,当然如果只想本用户使用的话使用默认配置即可。
安装完成之后添加 python3 和 pip3 的软链接:
|
1
2
|
sudo ln -s /usr/local/anaconda3/bin/python3 /usr/local/sbin/python3
sudo ln -s /usr/local/anaconda3/bin/pip /usr/local/sbin/pip3
|
这里是将软连接其添加到 /usr/local/sbin 目录下了,它默认会存在于环境变量中,因此可以直接调用。
当然也可以选择把 /usr/local/anaconda3/bin 目录添加到环境变量中,可以修改 ~/.bashrc 文件,添加如下内容:
|
1
|
export PATH=/usr/local/anaconda3/bin${PATH:+:${PATH}}
|
然后执行:
|
1
|
source ~/.bashrc
|
即可生效,下次登录时也会默认执行 ~/.bashrc 文件,也会生效。
接下来我们验证下 python3、pip3 命令是否都来自 Anaconda,命令如下:
|
1
2
|
pip3 -V
pip 9.0.1 from /usr/local/anaconda3/lib/python3.6/site-packages (python 3.6)
|
|
1
2
3
4
5
6
7
|
which python3
/usr/local/anaconda3/bin/python3
python3
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
|
如果输入 pip3 和 python3 命令能出现如上类似结果,路径都在 /usr/local/anaconda3,就证明 Python 3 安装成功了。
安装驱动
首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是怎样的驱动,这里我的显卡是 GTX 1080,所以以此为例说明,勾选好对应的配置:

点击 Search,可以看到查询结果如下所示:
|
1
2
3
4
5
|
Version: 390.25
Release Date: 2018.1.29
Operating System: Linux 64-bit
Language: English (US)
File Size: 77.48 MB
|
这里说明我们需要的版本是 390.25。
接下来如果我们之前安装了驱动的话,可以重新安装一下,如果当前已经安装好了就不必了。
如果要重装,需要首先卸载掉之前的显卡驱动:
|
1
|
sudo apt-get remove –purge nvidia*
|
运行之后 NVIDIA 的一些驱动就被卸载了。
这时候 nvidia-smi 等命令已经不能用了,这就证明显卡驱动已经被卸载了。
然后接下来添加一个 PPA 源,命令如下:
|
1
|
sudo add-apt-repository ppa:graphics-drivers/ppa
|
然后更新一下:
|
1
|
sudo apt-get update
|
随后重新安装显卡驱动:
|
1
|
sudo apt-get install nvidia-390
|
注意这里的 390 就是刚才我们查询出来的版本,以实际查询出来的版本为准。
CUDA 9.0
如果存在之前的旧版本,可以选择先卸载,以免和新的 CUDA 版本产生冲突,在 /usr/local/cuda/bin 目录下有一个 uninstallcuda*.pl 文件,可以直接运行卸载,命令如下:
|
1
|
sudo ./uninstall_cuda_*.pl
|
这样即可将 CUDA 全部卸载。
接下来我们再下载 CUDA 9.0,注意 TensorFlow 1.5 和 1.6 版本依然只是兼容 CUDA 9.0,没有兼容 CUDA 9.1,所以不要下载 9.1,CUDA 9.0 的下载地址是:https://developer.nvidia.com/cuda-90-download-archive,然后依次勾选好系统的版本,如图所示:

这里我们选择 Linux-x86_64-Ubuntu-16.04-runfile 的配置,然后点击 Base Installer 部分的 Download 按钮,下载 CUDA 9.0 安装包。
对应的下载命令是:
|
1
|
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
|
执行此命令,等待下载完成即可。
接下来执行安装,运行如下命令:
|
1
|
sudo bash cuda_9.0.176_384.81_linux-run
|
安装过程需要输入一些确认选项,过程如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
Description
The NVIDIA CUDA Toolkit provides command-line and graphical
tools for building, debugging and optimizing the performance
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/cqc ]:
Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
|
最后如果出现这样的提示,就证明 CUDA 安装好了:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-9.0
Samples: Installed in /home/cqc, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-9.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-9.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
|
然后我们需要配置一下环境变量,更改 ~/.bashrc 文件,添加如下几行:
|
1
2
3
|
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
|
修改完毕之后执行一下使其生效:
|
1
|
source ~/.bashrc
|
这时我们输出 CUDA_HOME、LD_LIBRARY_PATH 就可以看到对应的输出了:
|
1
2
3
4
|
echo $CUDA_HOME
/usr/local/cuda
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64
|
这样就代表环境变量生效了,CUDA 安装完成。
cuDNN 7.1
cuDNN 的全称是 The NVIDIA CUDA® Deep Neural Network library,是专门用来对深度学习加速的库,它支持 Caffe2, MATLAB, Microsoft Cognitive Toolkit, TensorFlow, Theano 及 PyTorch 等深度学习的加速优化,目前最新版本是 cuDNN 7.1,接下来我们来看下它的安装方式。
下载链接:https://developer.nvidia.com/rdp/cudnn-download,需要注册之后才能打开,这里我们选择 cuDNN v7.1.1 (Feb 28, 2018), for CUDA 9.0,然后选择 cuDNN v7.1.1 Library for Linux,如图所示:

下载下来之后解压安装即可:
|
1
2
3
4
5
|
tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
|
执行完如上命令之后,cuDNN 就安装好了,这时我们可以发现在 /usr/local/cuda/include 目录下就多了 cudnn.h 头文件。
TensorFlow 1.6
到现在为止 Python 3.6、CUDA 9.0 和 cuDNN 7.1 就已经安装好了,而且环境变量也配置好了,接下来我们直接安装 TensorFlow 1.6 即可,TensorFlow 1.6 版本针对 CUDA 9 和 cuDNN 7 做了优化,可以预构建二进制文件。
这里需要安装的是 TensorFlow 的 GPU 版本,命令如下:
|
1
|
pip3 install tensorflow-gpu==1.6.0
|
安装完成之后验证一下:
|
1
|
import tensorflow
|
如果没有报错,那就证明全部环境配置都成功了。
以上便是 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 完整环境配置过程。
转载:静觅 » 深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 环境配置
深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 环境配置的更多相关文章
- (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
不多说,直接上干货! 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
- Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南
Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Ternsorflow 学习:000-在 Ubuntu 16.04 上安装并使用 TensorFlow_v1.14 (改)
声明:本人已经对原文链接根据情况做出合理的改动. 本系列文章使用的是Tensorflow v1.14 引言 TensorFlow 是由谷歌构建的用于训练神经网络的开源机器学习软件.TensorFlow ...
- Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)【转】
本文转载自:https://blog.csdn.net/Zafir_410/article/details/73188228 前言 前面好一阵子忙于写论文和改论文,好久没有做新实验了,最近又回到做实验 ...
- Ubuntu 16.04 nvidia安装
Ubuntu更新完NVIDIA驱动后,重启电脑进入不了系统,一直处于登录界面.后来重启电脑时发现我进入不了系统了,输入我的登录密码会发现屏幕一闪,然后又重新跳回到登录界面,就是进入了login loo ...
- 自学python:python学习笔记之Ubuntu 16.04网络的配置
Ubuntu 作为一个Linux的发行版,在桌面环境的易用性上做了很多改善,对推动Linux的推广做了很大的贡献.同时,它作为服务器的操作系统也越来越多的被使用.当然,服务器端可能更多的人在使用Red ...
- ubuntu 16.04 下安装NVDIA的库(CUDA+CUDNN)
立志学习神经网络的同学,为了让它能够跑快一点,估计英伟达的GPU是要折腾一番的. 首先看一下什么是CUDA ? CUDA(Compute Unified Device Architecture),是显 ...
随机推荐
- Web前端开发规范(一)
1.前言 网页开发技术从1989年开始至今已经走过了20余年,从最初纯粹的学术交流,到门户网站.电子商务网站.博客.E-mail.Web游戏.SNS网站等,以及到如今的移动Web网站(其实可以认为是P ...
- 【转】【MATLAB】模拟和数字低通滤波器的MATLAB实现
原文地址:http://blog.sina.com.cn/s/blog_79ecf6980100vcrf.html 低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As= ...
- MyBatis中sql语句
一.select <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String&qu ...
- Cordova各个插件使用介绍系列(七)—$cordovaStatusbar手机状态栏显示
在项目中发现Android和iOS在手机状态栏样式不一样,然后就查到有一个cordova插件可以解决这个问题 1.下载插件$cordovaStatusbar命令: cordova plugin add ...
- ssh代理登录内网服务器
服务器 192.168.48.81 # client 192.168.48.82 # bastion 192.168.48.83 # private password方式 192.168.48.81 ...
- 水晶报表分组,统计,求和,sum()函数使用
--Sum()函数统计的是明细所有的和 Sum(字段名) --根据分组字段统计的和 Sum ({xh_Getdinggoudan;1.Djine} ,{xh_Getdinggoudan;1.Ddgda ...
- 为什么要使用TLSv1.2和System SSL?
FTP 和 Telnet 正是核心联网应用程序的两个示例.为 System SSL 编程接口编码的供应商应用程序可以通过更改代码来利用这些新支持. 这是安全套接层 (SSL) 协议的最新版本,也是最为 ...
- java IO流——字符流
一.概述 流的概念: 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行.设备可以是文件,网络,内存等. 流具有方向性,至于是输入流还是输出流则是 ...
- **611. Valid Triangle Number three pointer O(n^3) -> square(binary search larget number smaller than target)
Given an array consists of non-negative integers, your task is to count the number of triplets chose ...
- framework7 日历绑定其他字符串写法
listArray,要绑定的数据 //绑定到日期标签上 $.each(listArray, function (n, value) { var dLYear = value.year; var dLM ...