Ubuntu16.04下安装tensorflow(GPU加速)【转】

本文转载自:https://blog.csdn.net/qq_30520759/article/details/78947034

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30520759/article/details/78947034

本文主要是通过tensorflow官网的教程来实现安装,如果无法安装的话也可以试着用源码去安装(源码安装相对比较复杂不推荐)。 
1.前期的环境查询准备 
1.1查看tensorflow的对于系统的基本要求 
在安装任何一个软件的时候,我们首先应该去尝试了解它的运行环境,否则可能安装很久后到后面还是没有办法使用。 
tensorflow的官方网址为:https://www.tensorflow.org/install/ 
这里写图片描述
我们看到tensorflow对于系统还是有一定的要求的,考虑到兼容性和开源资料的丰富度,我最后选择的系统的ubuntu16.04. 
1.2选择在ubuntu系统上下载tensorflow 
点击上图中的Installing Tensorflow on Ubuntu进入安装教程界面: 
这里写图片描述
考虑到计算和运行速度我这里选择Tensorflow with GPU support。 
1.3NVIDIA requirements to run TensorFlow with GPU support 
在ubuntu的安装教程界面有英伟达对于用GPU跑Tensorflow的一些要求。具体如下图几点,简单用中文翻译就是: 
这里写图片描述

  • 1.CUDA®工具包8.0。 有关详细信息,请参阅NVIDIA的文档。 确保按照NVIDIA文档中所述将相关的Cuda路径名添加到LD_LIBRARY_PATH环境变量中。
  • 2.与CUDA Toolkit 8.0相关的NVIDIA驱动程序。
  • 3.CUDNN v6.0。 有关详细信息,请参阅NVIDIA的文档。 确保按照NVIDIA文档中所述创建CUDA_HOME环境变量。
  • 4.具有CUDA Compute Capability 3.0或更高版本的GPU卡。 请参阅NVIDIA文档以获取支持的GPU卡列表。

在满足了以上信息后我们开始正式安装。 
2.NVIDIA显卡驱动的安装 
2.1打开终端先删除旧的驱动

sudo apt-get purge nvidia*
  • 1

2.2禁用自带的 nouveau nvidia驱动 (important!)

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

并在文件中添加如下内容: 
blacklist nouveau 
options nouveau modeset=0 
然后在更新一次 sudo update-initramfs -u 
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: 
lsmod | grep nouveau 结束X-window服务 
首先我们需要结束x-window的服务,否则驱动将无法正常安装,通过以下命令实现。

sudo service lightdm stop  
  • 1

然后切换到tty1控制台:Ctrl+Alt+F1即可 
2.4安装驱动

cd /home/katherine/  
sudo sh ./NVIDIA*.run 
  • 1
  • 2

重新启动X-Window: sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面 
2.5检查

nvidia-smi 
  • 1

如果安装不成功,则需要卸载重来 sh ./NVIDIA.run --uninstall,或者可以尝试使用另一种方法。 
在ubuntu系统中选择软件更新中的附加驱动来更新驱动。 
这里写图片描述 
按照上面图片点击即可,需要保证在联网的状态下,亲测可行。 
3.gcc降版本 
ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9: 
在terminal中执行:

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++
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4.安装CUDA 

在cuda所在目录打开terminal依次输入以下指令(可以点进官网下载CUDA):

cd  /home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)
sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64​.deb
sudo apt-get update
sudo apt-get install cuda
  • 1
  • 2
  • 3
  • 4

5.安装CUDNN 
打开terminal依次输入以下指令:

cd  /home/***(自己的用户名)/Desktop/                     #(这个命令意思是找到刚刚我们用U盘传过来的文件)
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*
  • 1
  • 2
  • 3
  • 4
  • 5

6.确定如何安装TensorFlow 
这里写图片描述
这里选择”native” pip,点击进去即可 
6.1确定你电脑上python的版本 
在安装ubuntu系统时,你的电脑会自动安装python,你必须确定你的电脑安装的是哪个版本:

  • Python 2.7
  • Python 3.4+ 
    pip或pip3软件包管理器通常安装在Ubuntu上。 花点时间确认(通过发出pip -V或pip3 -V命令)安装了pip或pip3。 我们强烈建议使用8.1或更高版本的pip或pip3。 如果未安装版本8.1或更高版本,请发出以下命令,该命令将安装或升级到最新的pip版本:
sudo apt-get install python-pip python-dev   # for Python 2.7
sudo apt-get install python3-pip python3-dev # for Python 3.n
  • 1
  • 2

6.2开始下载tensorflow 
6.2.1通过调用以下命令之一来安装TensorFlow

pip install tensorflow            # Python 2.7; CPU support (no GPU support)
pip3 install tensorflow          # Python 3.n; CPU support (no GPU support)
pip install tensorflow-gpu    # Python 2.7;  GPU support
pip3 install tensorflow-gpu  # Python 3.n; GPU support 
  • 1
  • 2
  • 3
  • 4

如果上步失败,请通过发出以下格式的命令来安装最新版本的TensorFlow:

 sudo pip  install --upgrade tfBinaryURL   # Python 2.7
 sudo pip3 install --upgrade tfBinaryURL   # Python 3.n 
  • 1
  • 2

7.完成安装开始验证 
在terminal中输入:

python
  • 1

然后输入程序验证:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
  • 1
  • 2
  • 3
  • 4

如果安装成功,则会显示 Hello, TensorFlow!

posted @ 2018-09-18 11:45  请给我倒杯茶  阅读(296)  评论(0编辑  收藏  举报