Ubuntu 16.04下为TITAN 1080 显卡安装驱动及Gpu版TensorFlow|深度学习
近来入坑了TITAN 1080显卡,在Ubuntu 16.04下为装好驱动以使用Gpu版TensorFlow可不简单,踩了许多坑之后写下此篇为记录。
下载Cuda
按装官方教程,我们可以应该安装Cuda8.0和Cudnn V5.1,在此下载CUDA 8.0 Downloads | NVIDIA Developer
在这里最好选runfile local,因为选deb的话会遇到apt get的源损坏问题。
降级gcc和g++
由于Cuda不支持新版本的gcc和g++,所以如果建议先降级到4版本,方法见ubuntu 中 gcc/g++版本降级
安装显卡驱动
sudo apt-get install nvidia-367
安装Cuda
关闭你的图形界面
sudo service lightdm stop
此时电脑应该会黑屏,
CTRL + ALT + F1
进入命令行,登录,cd 到你存放下载的目录,执行
sudo bash cuda_8.0.44_linux.run
然后你会看到如
Do you accept the previously read EULA?accept/decline/quit:
输入accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 3xx.xx?
输入 no
之后还会问你是否安装X configuration
输入no
安装好了之后,再用命令sudo bash cuda_8.0.44_linux.run -slient -driver
来安装驱动。
最后sudo service lightdm start
或者重启。
设置Cuda环境变量
sudo vi ~/.bashrc
添加
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64"export CUDA_HOME=/usr/local/cuda-8.0
保存退出
再source .bashrc
Cudnn 安装
下载Cudnn
在此处下载:Membership Required | NVIDIA Developer,这里你先得注册一个NVIDA账号,填写一堆问卷。 有两种方法,一是deb安装包,二是下载tar
方法一
选择 Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0下载 cuDNN v5.1 Runtime Library for Ubuntu16.04 Power8 (Deb)安装
方法二
二是下载tar,解压后会得到一个Cuda文件夹,复制到Cuda-8.0文件夹中
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/includesudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
安装TensorFlow
这里我们使用Anaconda装Python3,
下载
下载好安装脚本之后,
bash ~/Downloads/Anaconda3-4.3.0-Linux-x86_64.sh
安装,记得在询问是否添加PATH时选择yes
pip install tensorflow-gpu
建立虚拟环境
新建环境conda create -n tensorflow
激活环境source activate tensorflow
此时已处于此环境下
安装TensorFlow
conda install tensorflow-gpu
这里Anaconda会自动安装依赖,直到全部完成
测试TF
$ python...>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print(sess.run(hello))Hello, TensorFlow!>>> a = tf.constant(10)>>> b = tf.constant(32)>>> print(sess.run(a + b))42>>>
若打印一系列包含Gpu信息的说明,恭喜你,安装成功!!!
原文链接:Ubuntu 16.04下为TITAN 1080 显卡安装驱动(Cuda&CudNN)及Gpu版TensorFlow | loop in data
作者:江南消夏,不正经数据科学家
- 微信搜索新发现:iPhone 内存不足看这里!
- 建立可扩展的silverlight 应用框架 step-6
- .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)
- 苹果为你的心跳开发一个读者
- 建立可扩展的silverlight 应用框架 step-5
- 安卓 iOS 版双双更新!还带来一大波小游戏
- 建立可扩展的silverlight 应用框架 step-4
- 全自动驾驶,吹牛容易实现难!有90%的人都不了解这些细节
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- Silverlight中摄像头的运用—part2
- 区块链小白投资入门操作指南(上)
- 《我的WCF之旅》博文系列汇总
- 网站出现“Service Unavailable”提示该如何解决
- Silverlight 4 中摄像头的运用—part1
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 关于useEffect的一切
- (25)Bash数值运算与运算符
- (27)正则表达式
- (28)字符截取命令cut、printf
- (29)字符截取命令awk
- RTSP协议视频平台EasyNVR流媒体服务器音频播放完毕后,视频为什么也会卡住?
- Redis | Redis 有序集合相关命令
- TypeScript 4.0正式发布!现在是开始使用它的最佳时机
- 微服务开源框架TARS 之 基础组件
- Gitlab-ci:从零开始的前端自动化部署
- 从 1 到 0 构建博客项目(导读)
- 应该在JavaScript中使用Class吗
- Go语言小书 | 关于编译和语法
- Go语言小书 | 小试牛刀,从hello world开始
- 3分钟短文 | Laravel 中间件传递数据到控制器