转载请注明出处:http://www.cnblogs.com/buxizhizhoum/p/8086230.html

环境:

系统:ubuntu 16.04

cpu:i5

gpu:gt920m

memory:8g

disk:SSD 256g

1.安装显卡驱动

首先需要保证电脑有满足cuda要求的显卡,ubuntu一般安装完成后都会使用集成显卡,独立显卡并没有充分利用。

ubuntu安装NVIDIA驱动还涉及到和原有驱动的冲突,这部分在网上比较多,也有些坑需要踩,可以自己搜索。

安装nvida的驱动,需要屏蔽之前的驱动,操作不当会造成系统无法进入图形界面,这时候,可以ctrl + alt + F1进入字符界面,进行补救,网上在这一点说的比较多,就不再多说了。

在知乎上看到一个安装nvidia驱动的方法,试了一下是可以用的,只是不知道是不是因为之前已经屏蔽了系统自带的驱动的缘故。

记在这里供大家参考:

进入:system setting -> software update -> additional drivers

select as the photo below and apply changes:

2.安装完驱动之后,安装cuda.

不同的tensorflow支持不同版本的cuda,在安装之前需要确认下载对应的cuda否则tensorflow无法调用cuda

 a)准备工作:

   检查gpu是否支持cuda: 
lspci | grep -i nvidia
   检查linux版本是否支持: 
uname -m && cat /etc/*release
   确认gcc是否安装: 
gcc --version
   确认内核头文件和开发环境: 
uname -r
   安装内核头文件: 
sudo apt-get install linux-headers-$(uname -r)
 b)开始安装:
   下载对应版本的cuda tookit并安装(下载地址点这里),这里选择离线安装方式(注意,目前tensorflow最新版本,1.4,1.5只支持到cuda 8.0, nvidia官网最新安装包为cuda 9.1)。
如果是重新安装,请先卸载: 
sudo apt-get --purge remove <package_name>
使用离线安装包安装cuda tookit:
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda # (如果之前安装过cuda, 这里需要指定版本号,否则还是安装之前的版本,例如,安装cuda8.0使用:sudo apt-get install cuda--)
3.安装cuDNN   
     下载对应版本的cuDNN并安装,下载地址点这里,目前tensorflow版本1.5,支持cuDNN6.0 .
下载cuDNN v6.0 Runtime Library for Ubuntu16.04  (Deb)cuDNN v6.0 Developer Library for Ubuntu16.04  (Deb),使用:
sudo dpkg -i <安装包名称>  
安装上述两个包,先安装runtime library,否则可能会有依赖问题。

4.安装tensorflow
这里使用Python virtualenv进行安装
     先安装virtualenv: 
sudo pip install virtralenv
     建立虚拟环境的文件夹, 比如安装到tensorflow_evn: 
mkdir tensorflow_env
     创建虚拟运行环境: virtualenv <刚才建立的文件夹>, 即: 
virtualenv tensorflow_evn
     激活虚拟环境:
source tensorflow_evn/bin/active, 总之就是要运行虚拟环境中bin目录下的active文件。
     安装tensorflow需要的包:
pip install numpy
     安装tensorflow-gpu:
pip install tensorflow-gpu

5.测试安装是否成功:
如果刚才的虚拟环境还没有关闭,启动python,运行:
import tensorflow as tf
op = tf.add(1.0, 2.0) # 进行加法运算
with tf.Session() as sess:
print(sess.run(op))
更多示例代码,见:https://github.com/buxizhizhoum/machine_learning/tree/master/tf
如果已经关闭,重新激活虚拟环境:
source tensorflow_env/bin/active 
然后运行python,运行上述代码。
如果可以运行成功,并且提示信息里面有提到gpu参与运算的信息,表明安装成功。
提示信息:
2017-12-22 15:01:58.555074: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 
2017-12-22 15:01:58.715769: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 
2017-12-22 15:01:58.716538: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties:  name: GeForce 920MX major: 5 minor: 0 memoryClockRate(GHz): 0.993 pciBusID: 0000:01:00.0 totalMemory: 1.96GiB freeMemory: 1.31GiB 
2017-12-22 15:01:58.716592: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce 920MX, pci bus id: 0000:01:00.0, compute capability: 5.0) 
3.0 
第一条信息不用管,这个是因为使用pip安装,而没有使用源码编译安装的原因,tensorflow为了尽可能好的兼容性,舍弃了cpu的一部分特性,通过编译安装可以解决,大概会有3倍左右的提升。
第三条即是说找到了GPU,并且打印了显存信息。
第四条表明创建了tensorflow的设备。

最下面的是运行的结果,表明gpu已经参与计算加速。
6.效果
进行gpu加速后,之前每次训练都占满的cpu现在只有一个核是满负荷的,运算速度有提升,但是没有网上说的20倍左右的提升,在mnist数字识别上,只比cpu块2~3倍,可能是因为这个显卡比较一般,cuda算力只有3.5,是满足tensorflow使用gpu加速的显卡里面的底线,使用高端显卡应该会有更大的提升。  
												

ubuntu16.04安装tensorflow-gpu和cuda8.0加速训练的更多相关文章

  1. ubuntu16.04 安装配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe环境

    网络上有很多ubuntu上caffe配置环境的帖子,本人照着其中的许多进行了参考,都出现了或多或少的错误,很多地方也有差异. 于是自己整理了下自己的安装过程,成功进行了测试,跑通了faster-rcn ...

  2. Ubuntu16.04安装Nvidia显卡驱动+Cuda8.0+Cudnn6.0

    一.安装Nvidia显卡驱动(gtx1050ti) 参考链接:Ubuntu16.04.2 LTS 64bit系统装机记录中的显卡驱动安装部分. 二.安装Cuda8.0 1.确定自己的系统信息,以Ubu ...

  3. tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...

  4. Ubuntu16.04安装TensorFlow及Mnist训练

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com TensorFlow是Google开发的开源的深度学习框架,也是当前使用最广泛的深度学习框架. 一.安 ...

  5. Ubuntu16.04安装tensorflow+安装opencv+安装openslide+安装搜狗输入法

    Ubuntu16.04在cuda以及cudnn安装好之后,安装tensorflow,tensorflow以及opencv可以到网上下载对应的安装包并且直接在安装包所在的路径下直接通过pip与conda ...

  6. windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    原文地址:http://www.jianshu.com/p/c245d46d43f0 写在前面的话 2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 ...

  7. Ubuntu16.04安装TensorFlow

    1.查看tensoflow与CUDA对应版本: windows端:https://tensorflow.google.cn/install/source_windows Linux端:https:// ...

  8. ubuntu16.04安装tensorflow官方教程与机器学习资料【学习笔记】

    tensorflow官网有官方的安装教程:https://www.tensorflow.org/install/install_linux google的机器学习官方快速入门教程:https://de ...

  9. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务

    [摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...

随机推荐

  1. graphEdit

    目的 实现支持算法流程图 参考代码 c# DSGraphEdit - CodeProject NetworkView: A WPF custom control for visualizing and ...

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境

    1.资源准备 最近,在VmwareStation 10虚拟机上,基于CentOS5.4安装Oracle 11g RAC,并把过程记录下来.刚开始时,是基于CentOS 6.4安装Oracle 11g ...

  3. linux ping报错Name or service not known

    ubuntu设置静态ip以后忘记设置dns,ping的时候报错:Name or service not known 添加dns即可 vi /etc/resolv.conf nameserver 8.8 ...

  4. cc2530 AES加密

    快速配置 Z-stack对Zigbee2006提供了全面的支持,功能之强大,性能稳定.安全性高,说到安全性是我们今天的主题.CC2430硬件支持128bit的AES加密算法,在协议栈中为了避开相同设备 ...

  5. [C++ Primer] : 第11章: 关联容器

    目录 使用关联容器 关联容器概述 关联容器操作 无序容器 使用关联容器 关联容器与顺序容器有着根本的不同: 关联容器中的元素是按关键字来保存和访问的, 按顺序容器中的元素是按它们在容器中的位置来顺序保 ...

  6. Windows10安装.net3.5

    1.装载windows10映像 2.运行如下命令(注意修改盘符): Dism /online /enable-feature /featurename:NetFX3 /All /Source:F:\s ...

  7. vmware linux NAT CON

    NAT上网 vmware设置nat上网: 1.设置本地可提供上网网卡为共享方式到vmware 8(NAT)如下图: 2.设置本地虚拟网卡vmware8 IP地址如下图: 3.设置vmware网络设置启 ...

  8. linux下一个网卡配置多个ip【虚拟ip】

    Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...

  9. H3C的DHCP中继配置命令

    dhcp enable命令用来使能DHCP服务 dhcp relay information enable 命令用来配置DHCP中继支持Option 82功能 缺省情况下,DHCP中继不支持Optio ...

  10. [UE4]通过代码改变材质

    OrangeMaterial = ConstructorStatics.OrangeMaterial.Get(); , OrangeMaterial); 使用到的结构体如下: struct FCons ...