Ubuntu16.04LTS+CUDA8.0+cuDNN5.1+Anaconda3(python3.6)+tensorflow_gpu-1.2.1安装过程全记录

最近搭建了一台用于深度学习的服务器,其中过程颇为曲折,在网上参考了众多博客后写下此文。参考的博客有:

[1]http://blog.csdn.net/ZWX2445205419/article/details/69429518

[2]http://blog.csdn.net/abc869788668/article/details/78331047?locationNum=1&fps=1

[3]http://blog.csdn.net/u010899985/article/details/59482825

[4]http://blog.csdn.net/u014595019/article/details/53732015

[5]http://blog.csdn.net/masa_fish/article/details/51882183

[6]http://blog.csdn.net/iotlpf/article/details/54175064

一、安装环境说明

首先在服务器中已经装好了Ubuntu16.04LTS系统,关于ubuntu系统的安装细节网上教程很多,此文不再赘述。

软件 版本 下载链接 说明
Ubuntu系统 Ubuntu16.04 LTS http://blog.csdn.net/a
llenlzcoder/article/de
tails/77449467
 
CUDA cuda_8.0.61_375.26_linux.run 最新版本链接:https://
developer.nvidia.com/c
uda-downloads
历史版本链接:http://blog.csdn
.net/allenlzcoder/artic
le/details/78649724
NVIDIA推出的
使用GPU资源
进行通用计算
的SDK
cuDNN cudnn-8.0-linux-x64-v5.1.tgz 官网下载(需注册账号):
https://developer.nvidia.
com/rdp/cudnn-download
百度网盘:https://pan.b
aidu.com/s/1miodWqG
cuDNN的版
本要与CUDA
的版本匹配

Anaconda3

Anaconda3-5.0.1-Linux-x86_64.sh 官网下载:https://www.
anaconda.com/downlo
ad/#linux 
Anaconda中
集成了很多
python库,
安装方便,
强烈推荐
TensorFlow tensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl https://storage.googlea
pis.com/tensorflow/linu
x/gpu/tensorflow_gpu-
1.2.1-cp36-cp36m-linux_x86_64.whl
1.3的编译版本
是用NVIDIA的
cuDNN 6编译
的,1.2.1用的
是cuDNN 5.1

二、安装显卡驱动

在终端中输入以下命令查看看显卡驱动:lsmod | grep -i nvidia。这时会输出默认的ubuntu自带的驱动nouveau的相关信息。首先要换显卡驱动。

在ubuntu16.04中,更换驱动非常方便,去系统设置->软件更新->附加驱动->切换到最新的NVIDIA驱动即可。应用更改->重启。如图1所示(图1系转载):

图1:选择NVIDIA显卡的专用驱动

在命令行中输入:nvidia-smi。若输出类似下图2(图2系转载)所示的信息,则证明驱动安装成功。

图2:显卡驱动的相关信息

在有的博客中看到说这种方法安装的驱动版本不是最新版本,会导致后面运行CUDA例子时报错,但我在安装时可以自动识别出最新的驱动版本384,在后面跑CUDA samples时也没有问题。其他安装驱动的方法可以见参考链接[6]。

之所以要提前安装显卡驱动而非在安装CUDA时安装显卡驱动的好处是可以简化安装步骤,省掉了禁止nouveau的这一步。只不过要注意,在后面安装CUDA时要选择是否安装显卡驱动,那时候要选择NO!

三、检查自己的电脑环境是否具备安装CUDA的条件(首先下载一份CUDA8.0官方安装文档,并按照上面的要求一步步的来,且不可偷懒!!!)

3.1检查自己的GPU是否是CUDA-capable

在终端中输入:$ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息,类似图3中的信息(图3系转载)。

 
图3:GPU信息

去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中。GTX1080是支持安装CUDA8.0的。

3.2检查自己的Linux版本是否支持 CUDA

CUDA开发工具只支持几个特定的Linux发行版本。具体信息如图4所示。

图4:CUDA8.0支持的软件版本

Ubuntu16.04LTS是支持CUDA8.0的。如要查看自己系统的信息,在命令行中输入:

$ uname -m && cat /etc/*release

输出信息类似图5所示(图5系转载):

图5:操作系统信息

3.3检查自己的系统中是否装了gcc

在终端中输入:$ gcc --version 可以查看自己的gcc版本信息,ubuntu16.04自带的gcc版本是5.4.0,由图2中的信息可知最高支持版本是5.3.1,这里需要对gcc进行降版本操作,这里降为5.3.0版的。

3.3.1下载gcc的源码,网址:http://gcc.gnu.org/mirrors.html

3.3.2将源码放到某个文件夹中,然后进入此文件夹,解压之:tar -zxvf gcc-5.3.0.tar.gz

3.3.3下载编译所需依赖项:

              cd gcc-5.3.0                                   //进入解包后的gcc文件夹
              ./contrib/download_prerequisites   //下载依赖项
              cd ..                                                //返回上层目录

3.3.4建立编译输出目录:mkdir gcc-build-5.3.0

3.3.5进入输出目录,执行以下命令,并生成makefile文件:

cd gcc-build-5.3.0
              ../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

3.3.6编译:sudo make -j4。接下来就是等待了,最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也不少。

3.3.7编译结束以后,可以执行安装:sudo make install

3.3.8检查gcc和g++版本,命令分别是:gcc --version、g++ --version,若输出信息均为5.3.0则正确。

PS:以上8步搞完后,应该是不对的,gcc的版本并未改变,当时是又问了实验室的一位资深工程师才解决的,待我问好之后,就回来更新。。。。。。

3.4 检查是否安装了正确版本的Kernel Headers和Development Packages

# 查看核
$ uname -r
# 为当前核安装kernel headers和development packages
$ sudo apt-get install linux-headers-$(uname -r)

经检查,我的ubuntu中的kernel是4.4.0版本,刚好符合图4中的要求。在这一步并未有其他操作。

3.5选择一种安装方式

下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件。看到其他博客上说另一种安装方式坑太多,所以采用runfile方式安装。具体的选择如图6所示。

图6:选择与系统对应版本的CUDA

选完后会紧接着出现下一张图7中的信息。

图7:CUDA的下载链接

此时会出现两个下载选项Base Installer和Patch 2,Patch 2应该是和补丁,但怎么用这个补丁没有在别人的博客中见到过,我也不想做第一个吃螃蟹的人,所以就没下(如果大家知道怎么用这个补丁,欢迎在评论中指教~~~) 。注意看第二个红圈,这就是相应版本CUDA的官方安装指南~~~

注意:如果之前装过cuda的其他版本,则还要处理潜在的冲突问题,具体请见CUDA8.0官方安装文档中的2.7小节中的内容,因为我的是新机器,此处略过~~~

四、安装CUDA和cuDNN

4.1运行CUDA的可执行文件

进入到该文件的目录下,在命令行中输入:sudo sh cuda_8.0.61_375.26_linux.run

然后会出现很多选项,让你选择:

Do you accept the previously read EULA?

accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?

(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

如上所示,简单而言:除了在是否选择安装显卡驱动时选择n(因为之前已经装过了),其他均选择y。

4.2在系统环境中设置CUDA的环境变量

在命令行中输入:sudo gedit /etc/profile,打开文件后在文件末尾添加路径,也就是安装目录,命令如下:
    export PATH=/usr/local/cuda-8.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH  
  保存,然后重启电脑:sudo reboot

测试CUDA的例子,在命令行中输入:
              cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
              sudo make
              ./deviceQuery
       如果显示的是关于GPU的信息,类似图8(图8系转载)则说明安装成功了。

图8:验证CUDA是否装好的一个例子

4.3安装cuDNN

cuDNN下载相应版本,cd到下载的文件目录下,解压:tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz。解压在下载目录下产生一个cuda目录,然后执行以下命令:

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* //给所有用户赋予读的权限

然后重置cuDNN相应的符号链接(此步骤必不可少!否则无法正确安装cuDNN!):

cd /usr/local/cuda/lib64/                                 //进入到cuda库文件的目录下
       sudo rm -rf libcudnn.so libcudnn.so.5            //删除原先的符号链接
       sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5   //建立新的软连接 
       sudo ln -s libcudnn.so.5 libcudnn.so              //建立新的软连接

至此,CUDA和cuDNN的安装已经完成!最复杂的问题已经解决!不要停下来,继续向前!

五、安装Anaconda和TensorFlow

5.1安装Anaconda

到官网上下载好Anaconda的安装包,拷贝到某个文件夹下,然后cd至此目录中,我是以root用户安装的,故在执行安装命令前首先切到了root用户下,再输入:bash Anaconda3-5.0.1-Linux-x86_64.sh。注意:在安装过程中选择是否把Anaconda的路径加入到环境变量中时,选择是;然后把Anaconda的安装地址改为了/usr/local/。

这样安装完成后,只是root用户的python版本变成了python3.6,其余用户还是ubunt自带的python2.7,为了让所有用户都能用python3.6。需要执行下面的命令:sudo gedit /etc/profile,在文件的末尾加一句:

export PATH=/usr/local/anaconda3/bin:$PATH

然后保存退出,重启电脑后,所有的用户的python版本全成了python3.6。至此,python已经装好了,还差一步!

5.2安装GPU版的TensorFlow

首先建立一个conda计算环境,命令:conda create -n tensorflow。激活环境 : source activate tensorflow。然后cd至TensorFlow安装包的目录下:pip install tensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl,相关依赖项会自动安装。ps:我在安装TensorFlow时并不是用的root用户,所以在root用户下无法import tensorflow......

等到安装完TensorFlow后,输入source deactivate tensorflow,退出安装环境。

ALL ARE OVER!!!

感谢网上的各位前辈们的辛苦的探索和分享的宝贵的经验!!!

Ubuntu16.04LTS+CUDA8.0+cuDNN5.1+Anaconda3(python3.6)+tensorflow_gpu-1.2.1安装过程全记录相关推荐

  1. ubuntu16.04+cuda8.0+cudnn5.1+caffe 安装(基于独立主机集成显卡GTX1080Ti)

    最近开始配置自己的深度学习主机,由于之前只在笔记本上和单显卡主机上安装过,所以可以说是zero经验,以至于很多问题不了解都当成了bug,故为了方便以后的自己以及大众,特在此写下post一篇.(由于可能 ...

  2. Ubuntu16.04+CUDA8.0+cudnn5.1+TensorFlow-GPU详细安装步骤

    最近学习机器学习的基本算法,想着配合Python2.7+TensorFlow-gpu进行学习,奈何Windows上TensorFlow只支持Python3.5.x,虚拟机上用Ubuntu对硬件的调用又 ...

  3. 从零开始安装TensorFlow1.0+keras(Ubuntu16.04+CUDA8.0+Cudnn5.1+TITANX)

    NVIDIA TITANX 显卡安装 官网下载NVIDIA驱动 点击进入驱动下载地址 按照需求选择合适的GPU,因为我们使用的是TITAN X GPU 所以选择如下,操作系统旋转Linux 64-bi ...

  4. 安装ubuntu16.04+Nvidia驱动+Cuda8.0+Cudnn5.1+Matlab R2017b+Pycharm+WPS

    硬件环境:NVIDIA GTX 760+i5 本文只是为了方便以后自己再安装时比较方便,做的一个记录.所以基本所有步骤都来自各参考文章的步骤. 安装ubuntu16.04 安装Nvidia驱动 安装C ...

  5. Ubuntu14.04+caffe+cuda8.0+cudnn5.0配置

    Ubuntu14.04+caffe+cuda8.0+cudnn5.0配置 自从实验室配置了新电脑,我们就开始折腾了~ 一开始是只菜鸟,Linux是啥都闹不清,因为实验室要用caffe研究深度学习,然后 ...

  6. cuda8.0.44linux.run,ubuntu16.04+cuda8.0+cudnn6+tensorflow(gpu)1.4,一遍成功

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 0 python环境(ubuntu16.04自带2.7.12)0.1 查看python版本与安装路径1 2 3 4pyt ...

  7. Ubuntu14.04 64位机上安装cuda8.0+cudnn5.0操作步骤

    查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...

  8. ubuntu16.04 cuda8.0 caffe 编译 error: cublas_v2.h 没有那个文件或目录

    ubuntu16.04 cuda8.0 caffe 编译时遇到 caffe fatal error: cublas_v2.h 没有那个文件或目录 参考:http://blog.csdn.net/qq_ ...

  9. caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)

    原文来源:  来源:Angle_Cal  2016-12-19 17:32 本博主修改于2017-09-12.  版权所有,转载请注明出处. BLVC版本的Caffe-windows已经支持Visua ...

最新文章

  1. python入门有基础-Python入门必须知道的11个知识点
  2. win10 管理linux文件,Linux子系统文件可在未来的Win10发行版中通过资源管理器访问...
  3. boost::hana::decltype_用法的测试程序
  4. 好看的个人主页,个人引导页
  5. so(3) se(3) optimization
  6. MySQL Buffer Pool缓冲池总结
  7. PHP 导出excel合并相同数据单元格
  8. 最新泛微java面试题及答案
  9. pg数据库表存放在哪里_pg数据库系统表
  10. On the Efficacy of Knowledge Distillation
  11. CSDN博客关联码云,点亮码云的G图标
  12. 【GitChat】精选——个人开发者如何通过人工智能盈利?
  13. CAN开发 入门知识总结
  14. 『深度应用』首届中国心电智能大赛复赛开源(第三十一名,得分0.841484)
  15. 网站分析平台:是选择百度统计,还是 Google Analytics 呢?
  16. javascript从入门到跑路-----小文的js学习笔记(11)--------字符串以及字符串的常见方法!
  17. 淘宝打折骗局--尤其硬盘
  18. Dapp测评 | Dpark冠军团队原班人马全新力作:Monster Tamer怪兽大战,一触即发
  19. css3扭蛋机,微信小程序扭蛋抽奖机css3动画实现详解.pdf
  20. 管理 - STAR法则

热门文章

  1. Requested registry access is not allowed 解决办法
  2. 结合CmakeList来更好地理解windows下的动态库和静态库
  3. 【OpenCV】复制、切割出图像ROI区域
  4. java 有意思面试题_一些JAVA中有趣的面试题
  5. php7.0搭配nginx,Linux安装配置php7.0+nginx
  6. c语言 10^30,^ 在C语言中是什么意思?
  7. pygame重新开始_Pygame(十八)音乐
  8. python方法_详细解读Python中的__init__()方法
  9. c++中的模板_C ++中的模板
  10. ssh密钥登录 改密码登录_如何使用密钥对通过SSH登录而不使用密码