Ubuntu 安装 tensorflow-gpu 1.4 +CUDA 8.0 +cuDNN详细教程

作者 | fendouai

编辑 | 磐石

出品 | 磐创AI技术团队

【磐创AI导读】:本文详细介绍了tensorflow-gpu在Ubuntu下的安装步骤。欢迎大家点击上方蓝字关注我们的公众号:磐创AI

硬件环境:NVIDIA GTX 980 Ti

系统环境:Ubuntu 16.04 64位

一.安装 NVIDIA驱动

1. 关闭 Secure Boot

具体如何禁用 BIOS 中的 Secure Boot 要根据主板的情况。

以华硕主板的禁用方法为例:

首先进入 BIOS,然后选择 Boot ,进入 Secure Boot 界面:

确定 "OS Type" 是 "Windows UEFI"

进入 "Key Management"

选择 "Clear Secure Boot keys"

在你清除 " Secure Boot keys" 之后,你将会有 "Install default Secure Boot keys" 选项来恢复默认的 keys 。

在你清除 " Secure Boot keys" 之后, Secure Boot 会被自动关闭,你现在可以设置 "OS Type" 为 "Other OS"。

设置完成之后的效果:

2.禁用 nouveau driver

控制台输入命令,创建一个文件通过命令

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

并添加如下内容:

blacklist nouveau

options nouveau modeset=0

再更新一下

sudo update-initramfs -u

修改之后需要重启系统。确认下nouveau是已经禁用,可以使用命令:

lsmod | grep nouveau

3.在字符界面下安装驱动

首先添加ppa库,然后通过ppa安装显卡驱动,使用以下命令添加:

sudo add-apt-repository ppa:graphics-drivers/ppa

关闭图形化环境

首先进入 Ubuntu 系统字符界面,使用组合键 ALT+CTRL+F1 进入字符界面。

为了确保驱动能够正常安装,我们需要暂时关闭x-window服务(图形环境),在文本模式下输入命令进行关闭:

sudo service lightdm stop

安装驱动

首先通过以下命令来查看 NVIDIA VGA card model

sudo lshw -numeric -C display

可以使用命令:

ubuntu-drivers devices

来查看可以使用的驱动,如图:

输入以下命令,直接安装驱动:

sudo apt-get update && sudo apt-get install nvidia-384

进入系统,我们要看刚刚的显卡驱动是否已经正确安装成功,通过下面命令查看:

nvidia-smi

如图所示显卡驱动已经正确安装,显卡的型号是 GTX 980 Ti。

二.安装 CUDA

1.确定和 TensorFlow 对应的 CUDA 版本

TensorFlow GitHub 页面查看依赖的版本:

https://github.com/tensorflow/tensorflow/releases

2. 下载和安装

因为 CUDA 8 兼容的gcc 版本是 4.9 ,但是ubuntu 16.04 默认的是 gcc 5,所以需要gcc降版本。

sudo apt-get install g++-4.9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30

sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30

sudo update-alternatives --set c++ /usr/bin/g++

下载地址:

https://developer.nvidia.com/cuda-downloads

因为上一步已经安装了显卡驱动,所以这里要选 no 。

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?

(y)es/(n)o/(q)uit: n

3.设置环境变量

配置CUDA环境变量

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

export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"

三.安装cuDNN

1.确定版本

TensorFlow GitHub 页面查看依赖的版本:

https://github.com/tensorflow/tensorflow/releases

2.下载

下载地址:

https://developer.nvidia.com/cudnn

3.安装

tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz

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*

四.安装 tensorflow-gpu

直接安装

pip install tensorflow-gpu

指定版本安装:

例如,要安装 tensorflow-gpu 1.4

pip install tensorflow-gpu==1.4

安装完成

参考教程:

https://blog.csdn.net/roach_zfq/article/details/53883976

https://www.cnblogs.com/xuliangxing/p/7569946.html

https://www.linuxidc.com/Linux/2016-11/137561.htm

https://blog.csdn.net/qq_30520759/article/details/78947034

你也许还想看:

● 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)

● TensorFlow + Keras 实战 YOLO v3 目标检测图文并茂教程(文末有惊喜)

● 入门 | Tensorflow实战讲解神经网络搭建详细过程


Tips:欢迎大家点击最下方二维码关注我们的公众号,点击干货资源专栏或发送关键字“资源”获取更多资源推荐。关注我们的历史文章,一起畅游在深度学习的世界中。我们期待你的留言和投稿,共建交流平台。来稿请寄:voice1235@163.com

原文发布于微信公众号 - 磐创AI(xunixs)

原文发表时间:2018-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码农二狗

代理环境配置docker

1355
来自专栏owent

集成Qt Webkit 到cocos2d-x

近期倒腾下客户端,想搞个cocos2d的工具。 之前的那个集成到Win32工具下的调试辅助工具是直接用的windows api。拓展起来巨麻烦。而且Windo...

1002
来自专栏Felix的技术分享

spdlog源码学习

2495
来自专栏Spark学习技巧

JAVA的网络IO模型彻底讲解

JAVA的网络IO模型彻底讲解 1,最原始的BIO模型 该模型的整体思路是有一个独立的Acceptor线程负责监听客户端的链接,它接收到客户端链接请求之后为每个...

2678
来自专栏程序猿DD

Swagger Starter 1.4.0发布:新增swagger功能开源与全局参数的配置。

该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档,简化原生使用swagger2的...

3696
来自专栏信安之路

Linux 闯关游戏之通关秘籍

强盗战争是针对绝对的初学者。它将教授需要能够玩其他战争游戏的基础知识,通过这个游戏能学习到很多 Linux 的基础知识。和大多数其他游戏一样,这个游戏按层次组织...

3206
来自专栏小狼的世界

Analog使用中的一些技巧和总结

Analog是一款用来快速处理日志的开源工具,具有很高的效率,但是生成的结果并不美观,本文就analog使用过程中的一些问题进行总结,讨论如何对analog进行...

791
来自专栏乐沙弥的世界

Linux/Unix shell 脚本监控磁盘可用空间

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少。下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考。

832
来自专栏ThoughtWorks

Gradle 命令行黑魔法

#ThoughtWorkers好声音# 第十五期 关于 Gradle ,我们常常会想到的是如何编写一个 Task ,怎么写一个 Plugin ,但是对于 Gr...

2455
来自专栏后端云

热迁移失败总结

被热迁移的vm内存读写速度超过了内存同步的速度,让热迁移一直没办法完成内存在源节点和目的节点的同步。

2484

扫码关注云+社区