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

为什么要进行源码安装呢?因为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


打个广告:目前博主正在字节跳动奋斗,欢迎各位一起来共事
【内推码】:HVWUV6Y
【投递地址】:https://job.bytedance.com/

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

一、安装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,测试是否安装成功,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VtYXR8tJ-1592371213720)(https://img-blog.csdn.net/20161010173843437)]


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 -

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

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

  1. 终端输入bazel,如下图所示,表示安装成功


三、下载tensorflow源码并配置
  1. 载入源码,终端输入
    git clone https://github.com/tensorflow/tensorflow

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

  3. 配置过程
    当输入y确认后出现如下图所示错误,缺少libcurl3-dev软件包
    ubuntu16.04+gtx1060+cuda8.0+tensorflow源码安装、测试经历_第1张图片


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

重新再终端输入 ./configure进行配置,多次尝试configure成功后,如下图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4mV4JEnD-1592371213725)(https://img-blog.csdn.net/20161010191110869)]


具体分析:
①指定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文件

  1. 终端输入
    sudo pip install /home/pawn/tensorflow_pkg/tensorflow-0.11.0rc0-py2-none-any.whl
    .whl文件更换为自己tensorflow_pkg目录下文件名字,安装结果如下图所示
    ubuntu16.04+gtx1060+cuda8.0+tensorflow源码安装、测试经历_第2张图片


五、设置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
结果如下图所示:



你可能感兴趣的:(深度学习工具安装)