您的位置:首页 > 其它

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

2016-10-10 16:47 801 查看
为什么要进行源码安装呢?因为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依赖

终端输入

针对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

安装jdk8

sudo add-apt-repository ppa:webupd8team/java


sudo apt-get update


sudo apt-get install oracle-java8-installer


终端输入
java -version
,测试是否安装成功,如下图所示:



添加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 -


更新本地软件列表并安装bazel

sudo apt-get update && sudo apt-get install bazel


一旦安装,可以用以下命令升级为新版bazel

sudo apt-get upgrade bazel


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



三、下载tensorflow源码并配置

载入源码,终端输入

git clone  https://github.com/tensorflow/tensorflow[/code] 
配置源码,终端输入

cd tensorflow


./configure


配置过程

当输入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并打包安装

终端输入

cd ~/tensorflow


使用GPU支持编译源码

bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package


编译结果显示如下(不清楚的图片右键新标签页打开图片)



终端输入

bazel-bin/tensorflow/tools/pip_package/build_pip_package  /home/pawn/tensorflow_pkg


创建pip包,在主目录下生成了tensorflow_pkg目录,含tensorflow-0.11.0rc0-py2-none-any.whl文件

终端输入

sudo pip install /home/pawn/tensorflow_pkg/tensorflow-0.11.0rc0-py2-none-any.whl


.whl文件更换为自己tensorflow_pkg目录下文件名字,安装结果如下图所示



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

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

终端输入

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

终端输入

cd ~/tensorflow/tensorflow/models/image/mnist/


python convolutional.py


结果如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tensorflow cuda