Ubuntu + CUDA9.0 + tensorflow-gpu 安装过程

版权声明:所有的博客都是个人笔记,交流可以留言。未经允许,谢绝转载。。。 https://blog.csdn.net/qq_35976351/article/details/79325476

Ubuntu + CUDA9.0 + tensorflow-gpu 安装过程

简介:

tensorflow支持CUDA9.0和cuDNN7.0,因此本教程是在该版本基础上进行安装的。我的电脑CPU是Intel core i7 4710MQ,GPU是GTX940M,请大家在安装前自己检查下硬件是否符合要求。

Ubuntu 18.04看这里https://blog.csdn.net/qq_35976351/article/details/89178917
win10系统看这里https://blog.csdn.net/qq_35976351/article/details/83041890

系统说明:

最好是Ubuntu16.04的,Ubuntu17.10也可以。CUDA9.0要求GCC版本是5.x或者6.x,其他版本不可以,需要自己进行配置,具体过程在这里不再赘述。其他的系统参照下面的配图,一般来说只要是GCC和硬件满足要求都行:
这里写图片描述

安装CUDA® Toolkit 9.0.

CUDA9.0下载地址:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

注意,一定是要是CUDA9.0而不是CUDA9.1,否则tensorflow运行时会报错(我第一次就选错了)!!!首次进入下载需要邮件注册,大家找一个邮件注册后就可以了。注册完成后,再进入上边的那个链接就行。
选择版本的过程,按照黑笔画出的标记:
这里写图片描述
假设我们把CUDA的安装包下载到~/Downloads文件夹中。之后,在这里打开终端,依次输入下面的命令:

  1. sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
  2. sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
  3. sudo apt-get update
  4. sudo apt-get install cuda

再CUDA完成安装之后,还需要添加环境变量,打开终端,输入下面的命令:

  1. export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
  2. 如果是64位系统,输入:
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  3. 如果是32位系统,输入:
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

上述过程完成了整个的CUDA9.0的安装

安装cuDNN v7.0.

**cuDNN v7.0.**下载地址:https://developer.nvidia.com/cudnn
用之前下载CUDA注册的邮箱登录就行。

进入之后点击Download,之后进入下载界面,选择上I Agree To the Terms of the cuDNN Software License Agreement的复选框,一次要选择上正确的版本!!!!!看下图黑笔标记的
这里写图片描述

同样的,假设下载目录是~/Downloads,在这里打开终端,之后输入以下命令:
sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb
注意,上述命令中的可能会由于cudnn版本的细微差异而不同,注意tab键补齐就行。之后等待完成cuDNN的安装。

安装Tensorflow-GPU版本

GPU相比于CPU,再运算速度上有很大的优势,这也是本文推荐安装GPU版本的原因。

Tensorflow总共有4中安装方式,在这里,我们使用Google官方推荐的安装方式:Virtualenv,创建一个虚拟Python开发环境。

  1. 安装pip和Virtualenv
    打开终端;
    如果使用Python 2.7的版本,输入sudo apt-get install python-pip python-dev python-virtualenv
    如果使用Python 3.x的版本,输入sudo apt-get install python3-pip python3-dev python-virtualenv
    两者选择一个就行,个人推荐Python 3.x版本

  2. 创造一个虚拟的Python开发环境:
    第一步如果选择Python 2.7版本,终端输入:virtualenv --system-site-packages ~/tensorflow
    第一步如果选择Python 3.x版本,终端输入:virtualenv --system-site-packages -p python3 ~/tensorflow
    注意,~/tensorflow是自己选择的位置并创建的目录。大家可以自行选择其他的位置和命名。本教程创建完成之后,会在用户家目录下看到多出的tensorflow文件夹:
    这里写图片描述

  3. 激活虚拟环境:
    如果你的终端是bash, sh, ksh, zsh中的一个,那么输入:source ~/tensorflow/bin/activate
    如果你的终端是csh,tcsh,那么输入:source ~/tensorflow/bin/activate.csh
    如果你不知道的话。。。。那就输入第一个吧,Ubuntu默认是第一个。。。。。
    之后,会再终端中看到:
    这里写图片描述

  4. 保证pip的版本不低于8.1,再虚拟环境中输入:easy_install -U pip
    这里写图片描述

  5. 安装tersorflow-gpu版本:
    Python 2.7版本:pip install --upgrade tensorflow-gpu
    Python 3.x版本:pip3 install --upgrade tensorflow-gpu
    经过这一步骤之后,tensorflow就安装完成了。

    如果安装速度慢,且没法fanqiang的话,可以使用清华的源
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

  6. 以后,如果需要使用tenssorflow,则打开终端输入:source ~/tensorflow/bin/activate,如果关闭虚拟环境,输入deactivate即可
    这里写图片描述

  7. 有些IDE 会自动检测tensorflow创建的虚拟环境,不必在终端中单独开启或者关闭,比如pycharm等。

实际运行检验:
使用pycharm作为IDE,进行检验。
检验代码:

import tensorflow as tf
import numpy as np
x = tf.placeholder("float",shape=[None,1])


W = tf.Variable(tf.zeros([1,1]))
b = tf.Variable(tf.zeros([1]))


y = tf.matmul(x,W) +b

y_ = tf.placeholder("float",[None,1])

cost = tf.reduce_sum(tf.pow((y_-y),2))

train_step = tf.train.GradientDescentOptimizer(0.001).minimize(cost)

init = tf.initialize_all_variables()

sess = tf.Session()
sess.run(init)


All_x = np.empty(shape=[1,1])
All_y = np.empty(shape=[1,1])


for i in range(1000):
    x_s = np.random.rand(1,1)

    y_s = np.dot([[0.33]],np.random.rand(1,1)) + 0.33

    feed = {x: x_s, y_: y_s}
    sess.run(train_step,feed_dict=feed)
    print("After %d iteration:"%i)
    print("W : %f"%sess.run(W))
    print("b : %f"%sess.run(b))

    All_x = np.concatenate((All_x,x_s))
    All_y = np.concatenate((All_y,y_s))

print(All_x)
print(All_y)

运行截图:
这里写图片描述

以上是所有的安装步骤,有解决不了的问题可以再下方留言,我有时间会帮助大家解决。。。。

展开阅读全文

没有更多推荐了,返回首页