ubuntu16.04+gtx1060+cuda8.0+tensorflow源码安装、测试经历

来源:互联网 发布:战队图标制作软件 编辑:程序博客网 时间:2024/04/30 20:57

为什么要进行源码安装呢?因为tensorflow仅支持cuda7.5,需要源码重新编译使其支持cuda8.0。

首先说明,该篇博客是在ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历基础上进行安装和测试,需要安装gtx 1060驱动、cuda和cudnn,前篇博客已经介绍清楚,这里不再赘述,具体版本如下:

GTX 1060驱动版本为367.35

cuda版本为cuda_8.0.27_linux.run

cudnn版本为cudnn-8.0-linux-x64-v5.1.tgz


废话不多说,上车吧,少年

一、安装python依赖

  1. 终端输入

    针对python2.7
    sudo apt-get install python-pip
    sudo apt-get install python-numpy swig python-dev python-wheel

    针对python3.x
    sudo apt-get install python3-pip
    sudo apt-get install python3-numpy swig python3-dev python3-wheel

    拉取完成后,在/home/pawn/目录下增加了py-faster-rcnn文件夹【pawn是我的ubuntu用户名】



二、Bazel安装

bazel是谷歌代码编译工具,编译tensorflow源码需要用到bazel

  1. 安装jdk8
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java8-installer

    终端输入java -version,测试是否安装成功,如下图所示:
    这里写图片描述

  2. 添加bazel软件包源且仅一次有效
    echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

    curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -

  3. 更新本地软件列表并安装bazel
    sudo apt-get update && sudo apt-get install bazel

    一旦安装,可以用以下命令升级为新版bazel
    sudo apt-get upgrade bazel

  4. 终端输入bazel,如下图所示,表示安装成功
    这里写图片描述



三、下载tensorflow源码并配置

  1. 载入源码,终端输入
    git clone https://github.com/tensorflow/tensorflow

  2. 配置源码,终端输入
    cd tensorflow
    ./configure

  3. 配置过程
    当输入y确认后出现如下图所示错误,缺少libcurl3-dev软件包
    这里写图片描述

    终端输入sudo apt-get install libcurl3-dev

    重新再终端输入 ./configure进行配置,多次尝试configure成功后,如下图所示
    这里写图片描述

    具体分析:
    ①指定python位置,默认为usr/bin/python,直接回车
    ②希望谷歌云平台支持tensorflow编译吗?输入y
    ③希望Hadoop文件系统支持tensorflow编译吗?输入y
    ④输入期望的python库路径,默认为/usr/local/lib/python2.7/dist-packages,直接回车
    ⑤希望使用GPU支持tensorflow编译吗?输入y
    ⑥指定哪个gcc被nvcc作为主机编译器,默认为/usr/bin/gcc,直接回车
    ⑦指定期望使用的cuda sdk版本,输入8.0
    ⑧指定cuda 8.0工具安装位置,默认为/usr/local/cuda,直接回车
    ⑨指定期望使用的cudnn版本,直接回车使用默认
    ⑩指定cudnn库目录安装位置,默认为/usr/local/cuda,直接回车
    ⑪输入显卡计算能力,在https://developer.nvidia.com/cuda-gpus查询,gtx 1060为6.1,输入6.1



四、编译tensorflow并打包安装

  1. 终端输入
    cd ~/tensorflow

    使用GPU支持编译源码
    bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
    编译结果显示如下(不清楚的图片右键新标签页打开图片)
    这里写图片描述

  2. 终端输入
    bazel-bin/tensorflow/tools/pip_package/build_pip_package /home/pawn/tensorflow_pkg
    创建pip包,在主目录下生成了tensorflow_pkg目录,含tensorflow-0.11.0rc0-py2-none-any.whl文件

  3. 终端输入
    sudo pip install /home/pawn/tensorflow_pkg/tensorflow-0.11.0rc0-py2-none-any.whl
    .whl文件更换为自己tensorflow_pkg目录下文件名字,安装结果如下图所示
    这里写图片描述



五、设置tensorflow开发者功能(可选)

为了方便开发tensorflow的工作人员,可以在交互式命令中测试tensorflow,而不必重新安装它,可以执行以下步骤

  1. 终端输入
    cd tensorflow/
    bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
    mkdir _python_build
    cd _python_build
    ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
    ln -s ../tensorflow/tools/pip_package/* .
    sudo python setup.py develop

    结果如下图所示:
    这里写图片描述



六、测试tensorflow

  1. 终端输入
    cd ~/tensorflow/tensorflow/models/image/mnist/

    python convolutional.py
    结果如下图所示:
    这里写图片描述



0 0
原创粉丝点击