Ubuntu16.04+GTX 1080Ti+CUDA 8.0+cuDNN+Tesnorflow1.0深度学习服务器安装之路
0.安装背景
- 系统:ubuntu 16.04
- 内核:4.4.0-140-generic
- GPU:GTX 1080Ti
- nvidia驱动版本: 384.111
- cuda: CUDA 8.0
- 深度学习库cuDNN: cuDNN5.1
- tensorflow:1.0.1
1.安装nvdia显卡驱动
下载nvidia显卡驱动
去nvidia官网查询显卡对应的驱动,并下载。这里的显卡驱动下载链接:Download,密码:mfxh
下载的时候要注意,显卡驱动与ubuntu内核版本对应。对应表来自nvidia官网如下:
Distribution | Kernel* | GCC | GLIBC |
---|---|---|---|
Ubuntu 18.10 | 4.18.0 | 8.2.0 | 2.28 |
Ubuntu 18.04.1 (**) | 4.15.0 | 7.3.0 | 2.27 |
Ubuntu 16.04.5 (**) | 4.4 | 5.4.0 | 2.23 |
Ubuntu 14.04.5 (**) | 3.13 | 4.8.4 | 2.19 |
删除以前nvidia显卡驱动版本
$ sudo apt-get install --purge nvidia*
关闭自带nouveau显卡驱动
$ sudo gedit /etc/modprobe.d/blacklist.conf
在文末添加:blacklist nouveau
执行命令
$ sudo update-initramfs -u
然后重启机器。执行如下命令,确认一下是否关闭。如果什么都没显示,表示已经删除。
$ lsmod | grep nouveau
安装nvidia显卡驱动
ctrl+alt+F1进入tty1控制台,输入命令:
$ sudo service lightdm stop //关闭桌面服务
$ cd Downloads/ //进入下载的驱动所在路径
/* 安装显卡驱动,参数解释
* -no-x-check 关闭x服务器
* -no-nouveau-check 关闭自带显卡驱动
* -no-opengl-files 关闭OpenGl服务,否则会出现重复登录的情况
*/
$ sudo ./NVIDIA-Linux-x86_64-384.111.run -no-x-check -no-nouveau-check -no-opengl-files
接下来进入安装界面,首先要accept证书,后面的选项选择默认的就好。
查看是否安装成功:
$ nvidia-smi
如果安装成功,应该如图1:
图1:nvidia驱动安装成功
###遇到的问题
**1.building kernel moduel**
出现错误:
ERROR: An error occurred while performing the step: "Building kernel modules". See /var/log/nvidia-installer.log for details.
这是由于ubuntu的内核与nvidia驱动版本不对应,原本我的机器是4.15 安装 384显卡驱动,每次都会出现build 的错误,后来将内核降为4.4的,并将4.4的内核设置为系统默认内核,于是安装成功。
**2.重复登录**
安装驱动的时候得把opengl关掉,如前文安装驱动时候的命令。
还有个原因与问题一答案一致,ubuntu的内核与nvidia驱动版本不对应。所以建议安装驱动后,将ubuntu内核版本自动更新关闭掉,否则内核自动更新了,nvidia并没有自动更新,会导致ubuntu系统重复登录。
2.安装cuda
版本对应
版本 | Python版本 | 编译器 | CUDA最低版本 | cuDNN最低版本 |
---|---|---|---|---|
tensorflow_gpu-1.13.0 | 2.7、 3.3~3.6 | 4.8 | 10.0 | 7.4 |
tensorflow_gpu-1.5.0 ~1.12.0 | 2.7、 3.3~3.6 | 4.8 | 9 | 7 |
tensorflow_gpu-1.3.0 ~1.3.0 | 2.7、 3.3~3.6 | 4.8 | 8 | 6 |
tensorflow_gpu-1.0.0 ~1.2.0 | 2.7、 3.3~3.6 | 4.8 | 8 | 5.1 |
下载cuda toolkit 8.0
进入官网下载cuda toolkit 8.0(或者直接google cuda 8.0可以直接进入),选择电脑配置对应的版本,选择runfile类型的文件,如图2。
图2:cuda下载
下载成功后,执行命令:
$ sudo sh cuda_8.0.61_375.26_linux.run
然后进入安装,一开始出现的一大堆文字都是End User License Agreement,可以ctrl+c跳过,在随后的协议选择accept协议。注意,在Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?选择no,因为我们已经安装过nvidia驱动了。
具体选项如下:
Logging to /tmp/cuda_install_32359.log
Using more to view the EULA.
End User License Agreement
--------------------------
Preface
-------
The following contains specific license terms and conditions
for four separate NVIDIA products. By accepting this
agreement, you agree to comply with all the terms and
conditions applicable to the specific product(s) included
herein.
NVIDIA CUDA Toolkit
Description
The NVIDIA CUDA Toolkit provides command-line and graphical
tools for building, debugging and optimizing the performance
of applications accelerated by NVIDIA GPUs, runtime and math
libraries, and documentation including programming guides,
--More--(0%)
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(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/ai]:
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXmu.so
Installing the CUDA Samples in /home/ai ...
Copying samples to /home/kinny/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
配置环境
在~/.bashrc 的最后添加:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
添加完一定要更新一下,否则会出现安装成功但是无法使用gpu的情况。
$ source ~/.bashrc
3.安装cudnn
进入官网下载cuda toolkit 5.1,需要注册才能使用。下载对应的文件,我这里的下载选项为Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0,下载下来的文件名为cudnn-8.0-linux-x64-v5.1.tgz。
解压文件
$ tar xvzf cudnn-8.0-linux-x64-v5.1.tgz
然后将库和头文件copy到cuda目录(一定是你自己安装的目录如/usr/local/cuda-8.0):
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
接下来修改文件的访问权限
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
4.安装tensorflow-gpu
下载tensorflow-gpu
这里安装的是tensorflow1.0.1-gpu,下载链接:Download
下载pip
$ sudo apt-get install python-pip python-dev
使用pip安装tensorflow
$ sudo pip install --upgrade ttensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl
遇到的问题
1.tensorflow import error
图3:Import Error
这里是由于没有配置上文cuda环境导致的。
#参考
[1] https://blog.ailemon.me/2017/06/06/install-tensorflow-gpu-on-ubuntu-linux/
[2] https://blog.csdn.net/weiguangbanmo/article/details/83386715
Ubuntu16.04+GTX 1080Ti+CUDA 8.0+cuDNN+Tesnorflow1.0深度学习服务器安装之路的更多相关文章
- 问题记录 | 配置ubuntu18.04+cuda9.0+cudnn服务器tensorflow-gpu深度学习环境
因为实验室服务器资源有限,我被分配的服务器经常变化,但是常常就分到连显卡驱动以及cuda都没有装的服务器,真的很头疼,我已经配了四五台了,特此记录一下,以便以后直接照版本安装. Install nvi ...
- 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置
前言 博主想使用caffe框架进行深度学习相关网络的训练和测试,刚开始做,特此记录学习过程. 环境配置方面,博主以为最容易卡壳的是GPU的NVIDIA驱动的安装和CUDA的安装,前者尝试的都要吐了,可 ...
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-we ...
- ubuntu16.04+caffe+GPU+cuda+cudnn安装教程
步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...
- Ubuntu16.04 安装cuda9.0 cudnn 7.0.5
参考网址:https://blog.csdn.net/zhuangwu116/article/details/81063234 (1)下载安装文件: 下载cuda9.0 runfile 文件 下载地址 ...
- ubuntu16.04 安装 caffe cuda 相关流程
不多说了,经历了很多莫名其妙的错误最后终于安装好了,直接放安装脚本: #!/bin/bash #安装时要注意有些库可能安装失败以及安装caffe有和protobuf相关错误时可能需要重新对protob ...
- 从0开始配置ubuntu深度学习系统
目录 个性化配置 ubuntu安装及其分区 NVIDIA驱动安装 配置使用清华源 安装shadowsocks-qt 安装chrome 安装gdebi 安装atom 安装wps 安装sogou piny ...
- Vmvare + Ubuntu 16.04环境搭建 + 相关软件安装配置笔记【深度学习】
前言 由于学习与工作的需要,加上之前配置好的vmmachines都损坏了,我就重新弄一个ubuntu虚拟机,配置一下环境,给自己留个记录 1.文件 2.配置过程 1.在Vmware中新建虚拟机,自定义 ...
- ubuntu16.04安装LNMP(ubuntu+Nginx+mysql+PHP7.0)
系统环境: Ubuntu 16.04.2 LTS nginx version: nginx/1.10.3 (Ubuntu) PHP 7.0.22-0ubuntu0.16.04.1 mysql Ver ...
随机推荐
- c#将http调用返回额json中的有关中文的unicode转换为中文
c#将http调用返回额json中的有关中文的unicode转换为中文 中文转Unicode:HttpUtility.UrlEncodeUnicode(string str);转换后中文格式:&quo ...
- C++ 简单内存泄漏检测方法
遇到个bug,MFC程序异常退出,debug模式下输出 Detected memory leaks! Dumping objects -> {366566} normal block at 0x ...
- POJ 1611 The Suspects【并查集】
解题思路:一共给出 n个人,m组,接下来是m组数据,每一组开头是该组共有的人 num,则接下来输入的num个数,这些数是一组的 又因为最开始只有编号为0的人携带有病毒,且只有同一组的人会相互传染,问最 ...
- Console.WriteLine 不会输出到unity控制台
1,Console.WriteLine() 是输出到控制台程序(console application)的命令 2,Unity中控制台是一个独立的程序,要想输出到Unity控制台需要使用Debug.L ...
- Unity 指定区域随机实例化预制体Prefab 代码
using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public GameObject prefab; void ...
- CDR实例教程-高考789,敢拼就能赢!
本教程是我去年做的一个案例,本来今年想要在做一个,突然意识到今天就是高考日了,没来的及,所以大家将就看些.7.8.9是值得一生纪念的日子,也是以后的每年都会怀念的日子,因为是全国都在上演史诗大剧“决战 ...
- ZBrush中如何做不同图案的遮罩
ZBrush®软件中不仅可以创建矩形遮罩还可以创建有图案的遮罩,且是非常简单有效的,那么究竟怎样做出神奇的效果,本文将为您详细讲解. 有关反转遮罩.清除遮罩的详细内容,请点击:ZBrush中如何反选遮 ...
- div纵向居中的方法(转载)
方法一这个方法把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align property 属性. <div id="wrapper"> ...
- Mysql 分库分表方案
0 引言 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. mysql中有一种机制是表锁定和行锁 ...
- CodeForces-366C Dima and Salad 对01背包的理解 多个背包问题
题目链接:https://cn.vjudge.net/problem/CodeForces-366C 题意 给出n个水果和一个常数k,其中每个水果都有两种性质ai, bi(美味度,卡路里量). 要保证 ...