之前用过TensorFlow的CPU版,现在买了个新电脑,就想把GPU也用起来,又因为目前大部分工作是在linux下做,所以有了在linux下安装cuda和TensorFlow的计划,快一个礼拜一直在搞这件事,重装了N次系统,cuda和TensorFlow终于是能用了。姑且写一下攻略吧,也算自己留个档。

注意事项

此攻略适用于广大使用Nvidia显卡的Ubuntu用户,CentOS,RedHat,Windows等等用户请自行阅读Nvidia各种安装说明,A卡用户出门左转。

双显卡用户注意,按此攻略安装的nvidia显卡驱动可以支持TensorFlow等等的机器学习计算,然而并不能优化图形界面。这个主要是因为我目前还没找到好的办法进行双显卡切换,搞了几次都搞到重装,心累,所以现在图形化界面还是用的Intel集显。如果大家有好办法欢迎共享。

关于软件版本以及安装方法,这里安装的是CUDA-8.0+CUDNN-7+TensorFlow-0.11.0,Nvidia驱动和CUDA都是脚本安装,CUDNN是Debian包安装,TensorFlow是pip直接安装。

废话不多说了。

原料

一个有Nvidia显卡的电脑

要知道N卡的型号,不知道的可用命令sudo lspci | grep -i nvidia查看,我的是GTX960M

一个Ubuntu系统

同样要明确系统版本,我的是16.04

GCC

GCC为系统自带程序,无需自行安装。有安装教程说gcc需要降级到5以下,这个主要针对CUDA和你的Ubuntu系统版本,我用的gcc 5.4版本装CUDA8完全没有问题,Ubuntu14.04的用户最好降一降。

CUDA8安装脚本

贴个链接指路,官网现在默认你安装的是9.0版本,然而9.0版本需要显卡驱动至少在384及以上,出于稳妥考虑装了8.0版本,同样对驱动有要求(在375及以上)。

CUDNN安装包

链接指路下载前需要注册,然后要填个问卷,按步骤来就行很快,然后按照你的系统版本和你将要安装的cuda版本选择下载哪一个,Ubuntu用户不要选power8,可以看到一共有三个包可以下载,分别是Runtime Library,Developer Library和Code Samples,都下了吧反正也不大(你走)。

驱动安装脚本

链接指路,按照提示找到适合自己电脑显卡型号的驱动,下载得到一个脚本(.sh)文件。

步骤

卸载原有的N卡驱动

这一步主要是针对像我这种以前为了各种谜之目的装过Nvidia驱动而版本又不够高导致后面CUDA装了不能用的熊程序员,以及看了别家攻略安装失败了的你,不要觉得之前装过Nvidia驱动装错了就可以直接丢开。

执行以下命令:

sudo apt-get --purge remove nvidia-*

对于之前从Nvidia官网下载安装过驱动的,如果你的驱动版本小于CUDA的要求(8.0至少375,9.0至少384),找到之前安装脚本所在的目录,执行以下命令:

sudo sh 你的脚本.sh --uninstall

禁用开源驱动nouveau

Ubuntu系统默认使用的驱动即为开源的驱动nouveau,我们需要禁用它并且之后也不需启用。

编辑系统配置文件blacklist.conf

sudo gedit /etc/modprobe.d/blacklist.conf

在其中添加下面两行:

blacklist nouveau

options nouveau modeset=0

保存,退出,执行如下命令使配置生效:

sudo update-initramfs -u

重启电脑,至此开源驱动就已被禁用了,可用如下命令进行检查:

lsmod | grep nouveau

如果系统什么也没返回,说明nouveau禁用成功

关闭UEFI模式

这一步主要是安装驱动的需要。在UEFI模式下安装驱动需要为驱动生成签名,公钥需要存储在linux内核信任的某目录下,关于这方面没有找到什么资料,目前大部分的解决办法都是直接关闭UEFI模式。

UEFI的关闭方法与电脑型号有关,我的戴尔灵越是F2进入BIOS后在Boot标签下选择关闭Secure Boot,之后就可以选择从UEFI模式切换到Legacy模式,其他电脑型号请百度。

结束X server服务

在终端输入以下命令:

sudo service lightdm stop

之后如果直接死机请重启查看nouveau禁用设置是否正确。正常情况会黑屏,然后按Ctrl+Alt+F1进入字符终端界面,输入用户名和密码通过验证。

安装Nvidia驱动

进入存放驱动脚本的目录,执行以下命令:

sudo chmod a+x 你的脚本.sh

sudo ./你的脚本.sh -no-x-check -no-nouveau-check -no-opengl-files

执行脚本的三个参数是为了防止接下来循环登录。然后按照步骤进行就可以了,如果提示无法安装32-bit lib不用担心,回车继续就好。

安装完成后重新启动X server服务:

sudo service lightdm start

如果执行以上命令后能够正常进入图形界面,恭喜你安装驱动成功。

安装CUDA

进入CUDA安装脚本所在的目录,执行以下命令:

sudo sh 你的脚本.sh

首先会出现一段极长的协议,最后输入accept表示同意,然后会选择是否安装nvidia驱动367,选择no,遇到询问是否安装opengl的地方如果你是双显卡也务必选择不安装,其他同意或默认即可。

安装完成后需要将CUDA的路径加入环境变量,首先打开~/.bashrc文件,添加以下代码:

export PATH=/usr/local/cuda-8.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

中间不要加多余的空格,如果你安装的不是8.0版本则修改版本号,保存,然后打开/etc/profile,文末加上以下代码:

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

保存,至此CUDA安装完毕。

安装CUDNN

进入CUDNN安装包所在目录,执行以下命令:

sudo dpkg -i runtime包.deb

sudo dpkg -i developer包.deb

sudo dpkg -i 代码sample包.deb

至此,CUDNN安装完成。

验证CUDA和CUDNN是否安装成功

CUDNN的code sample可以用来检查CUDNN和CUDA是否安装成功,执行以下命令:

sudo cp -r /usr/src/cudnn_samples_v7/ $HOME

cd $HOME/cudnn_samples_v7/mnistCUDNN

sudo make clean

sudo make

sudo ./mnistCUDNN

正常情况下执行以上代码会得到Test passed!的结果。如果在make步出错,那么可能gcc需要降级;如果出现CUDA driver version is insufficient for CUDA runtime version,那么或许你的显卡驱动安装失败,或许你之前安装过低版本的nvidia的显卡又没有删掉。

安装TensorFlow

如果以上步骤都没有问题,恭喜你可以开始安装TensorFlow了。这里采用的是用pip安装的方法。首先安装pip和python dev:

sudo apt-get install python-pip python-dev

安装完毕后执行如下命令:

sudo pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

如果出现无法访问的情况,翻个墙或者去清华镜像站安装吧,注意选择tensorflow和python版本,通常来说是能够正常下载安装的。

至此TensorFlow安装完成。

验证TensorFlow是否安装成功以及是否是否能够使用GPU

注意:如果是关闭UEFI模式安装的GPU驱动,那么在使用GPU加速机器学习时也需要关闭UEFI模式,否则会报错。

打开一个python终端:

python

逐行敲入以下代码:

>>>import tensorflow as tf

>>>hello = tf.constant('Hello, TensorFlow!')

>>>sess = tf.Session()

>>>print sess.run(hello)

如果出现以下字样,说明TensorFlow安装成功,并且能够成功启用GPU。

Ctrl+D关闭python终端。

如果出现以下错误,或许UEFI模式没有关闭,或许显卡驱动安装错误。

参考文档

Nvidia Driver官方安装指南

Nvidia Cuda官方安装指南

Nvidia CUDNN官方安装指南

ycszen的个人博客

TensorFlow中文社区

linux上验证cudnn是否安装成功_Linux下CUDA+CUDNN+TensorFlow安装笔记相关推荐

  1. centos 7 如何验证oracle安装成功_linux下Oracle数据的安装详解

    第二章:CentOS下Oracle用户环境配置和Oracle11g的安装: 1.下载Oracle安装包: linux.x64_11gR2_database_1of2.zip 和 linux.x64_1 ...

  2. linux验证cuda安装成功_Linux环境CUDA 4.0入门:验证安装

    [IT168 技术]通过之前的文章,笔者介绍了如何在Linux环境下安装CUDA 4.0.因为Linux系统版本众多,因此即使按照相关步骤进行操作,也可能会出现问题.如何验证安装正确与否是本文将要讲解 ...

  3. linux mysql多实例启动不了_linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启 ...

  4. linux上mysql定时备份数据库数据_Linux下如何实现MySQL数据库每天定时自动备份

    在云计算的浪潮下,企业多将业务部署在云上.对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单.但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会 ...

  5. linux查找mysql安装目录_Linux下查看MySQL的安装路径

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议:Linux继 ...

  6. mysql5.6.33安装教程_Linux下mysql5.6.33安装配置教程

    本教程为大家分享了mysql5.6.33在linux下的安装配置方法,供大家参考,具体内容如下 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.h ...

  7. linux下cuda cudnn安装 没有权限的安装

    linux下cuda cudnn安装 cuda 10.2:https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux ...

  8. CUDA和Tensorflow安装问题,包括如何在一台机器上配置多个CUDA环境和Tensorflow版本

    CUDA和Tensorflow安装相关问题 安装CUDA和Tensorflow一般流程 1. 查看显卡可安装的CUDA版本 2. Tensorflow版本以及对应CUDA.cuDNN版本如何查看 Py ...

  9. 今天花了好长的时间终于把SecureCRT安装成功了 现在分享给大家 安装的步骤, 希望对大家用帮助...

    转载地址:https://www.cnblogs.com/lianghe01/p/6618651.html 今天花了好长的时间终于把SecureCRT安装成功了 现在分享给大家 安装的步骤, 希望对大 ...

最新文章

  1. dojo从asp.net中获取json数据
  2. ArcCatalog连接远程ArcGIS Server服务器
  3. Solaris ALOM1.6 SC Password Reset
  4. 续上篇随笔:陈勇提示做分批载入需要用到的数据
  5. AI 一体机,满足新时代的新需求
  6. F#年度调查结果概述
  7. C# 3.0 新特性
  8. 由内省引出JavaBean的讲解
  9. OpenShift 4 之配置Insecure Registry和Blocked Registry镜像源
  10. dell笔记本插上耳机没有声音_跑男的耳机没有声音,沙溢只用一句话诈出来,不愧是《王牌》常客...
  11. leetcode 997 找到小镇的法官
  12. qchart能绘制三维_通图GIS | 用多种体展示方案适配复杂三维场景分析、表达
  13. matlab与螺旋桨,基于Matlab的船用螺旋桨计算机实时仿真及GUI设计
  14. 计算机程序员目标分析,计算机程序员实习目的
  15. 股指期货首次和二次开户条件
  16. 响应“上上下下左左右右”按键键事件 “按两次返回键退出”
  17. java多属性的map_java集合(四)Map集合之Properties详解
  18. java中print的含义_【转】Java中print、printf、println的区别详解
  19. 教你如何一键批量删除空间说说
  20. ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 36

热门文章

  1. Redis分布式锁原理
  2. 方舟手游服务器传服后服务器会不稳定吗,方舟生存进化手游转服规则说明_转服有哪些规则_3DM手游...
  3. 计算机桌面我的文件夹怎样更名,如何新建一个文件夹
  4. 微信小程序实现星星评分组件(原生)
  5. 搞了一个投顾组合(20211212 Week49-3)
  6. 74160同步置数法接成同步六进制计数器
  7. Skywalking(11): java agent原理
  8. VS Code成主宰、Vue备受热捧!2019前端开发趋势必读
  9. 华为首款鸿蒙系统产品,华为首款鸿蒙系统产品成行业公敌
  10. 天津搜索引擎营销SEM(二)