ubuntu16.4搭建tensorflow环境

Posted pclover11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu16.4搭建tensorflow环境相关的知识,希望对你有一定的参考价值。

1 说明:

  本机配置:显卡gtx970,ubuntu16.4.1+cuda8.0+cudnn v5+tensorflow0.11

1. 下载

1.1 系统镜像

由于我尝试了ubuntu14.04,安装Nvidia驱动之后,会出现循环登录的问题,并始终无法找到有效的解决途径,所以只能选择ubuntu16.04了。 

镜像地址 https://www.ubuntu.com/download/alternative-downloads 

1.2 CUDA 8.0

https://developer.nvidia.com/cuda-downloads(下载地址) 
说明: 
(1)在NVIDIA的CUDA下载页面下,选择要使用的CUDA版本进行下载。 
(2)我们这里使用CUDA8.0(页面有提示GTX1070、GTX1080支持8.0版本),学员如果没有使用以上两个版本的GPU,可以下载CUDA7.5。DOWNLOAD(下载)。 
(3)下载需要注册。 
(4)图解选择 

注意:使用deb(local)版本。

1.3 cuDNN v5

下载地址: https://developer.nvidia.com/cudnn(需要登录) 
说明: 
(1)下载需要填写一个调查问卷,就三个选项,建议认真填写,毕竟人家免费给咱使用。 
(2)填写完毕点击 I Agree To 前面的小方框

选择cudnn v5.1 for linux

1.4 Tensorflow 0.11

tensorflow github上面提到 4 种安装方式,本教程使用 第四种 源码安装 
Virtualenv installation 
Anaconda installation 
Docker installation 
Installing from sources 
https://github.com/tensorflow/tensorflow(下载地址) 
说明: 我选择的是linux gpu python2

(2) 点击Python 2开始下载。

 

2. 安装ubuntu16.04 LTS 系统

详情请查看之前笔记windows系统安装ubuntu双系统

 

3. 安装NVIDIA驱动

打开terminal输入以下指令:

sudo apt-get update

然后在系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改

4.安装cuda8.0

 

4.1 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++

4.2 安装cuda

在cuda所在目录打开terminal依次输入以下指令:

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?

4.3 安装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 chmoda+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*

 

4.4 安装其他依赖

4.4.1 配置环境变量

技术分享

按照上图的教程,在terminal中输入以下命令:
sudo gedit ~/.bash_profile #打开.bash_profile

然后在打开的文本末尾加入:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

继续在terminal中输入:

source ~/.bash_profile #使更改的环境变量生效

当然,也有其他教程在文件~/.bashrc文件中写入的,方法与上面的类似。如果在后面配置./config文件出现问题时,可以实现这个方法。

 

4.4.2 配置环境变量

技术分享

在terminal中输入以下命令:

sudo apt-get install python-pip python-dev 

5. 安装Bazel

5.1 安装Bazel依赖

由于本教程使用tensorflow源码编译/安装,所以需要使用 bazel build。 

链接:https://www.bazel.io/versions/master/docs/install.html 
技术分享

在terminal中依次输入以下1-7的命令 

技术分享

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.io/bazel-release.pub.gpg | sudo apt-key add -

5.2 安装Bazel

之后回到之前的Tensorflow安装教程页面:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md 

技术分享

点击链接: installer for your system,跳转到Bazel的下载页面: 

技术分享

下载bazel-0.3.2-installer-linux-x86_64.sh到桌面,然后在terminal中输入以下命令

cd  /home/***(自己的用户名)/Desktop/                  #(这个命令意思是找到刚刚我们用U盘传过来的文件)
chmod +x PATH_TO_INSTALL.SH                         #对.sh文件授权
./PATH_TO_INSTALL.SH --user                         #运行.sh文件

5.3 安装第三方库

在terminal中输入以下命令

sudo apt-get install python-numpy swig python-dev python-wheel #安装第三方库
sudo apt-get install git
git clone git://github.com/numpy/numpy.git numpy 

 

6. 安装tensorflow

6.1 下载tensorflow

在terminal中输入以下命令

git clone https://github.com/tensorflow/tensorflow

特别注意,我使用的是tensorflow 0.11版本,该版本要求cuda 7.5 以上,cuDNN v5。 
默认下载目录是在/home下

6.2 配置tensorflow

还是刚刚的网址 
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

在terminal中输入以下命令:

 

cd ~/tensorflow                        #切换到tensorflow文件夹
./configure                            #执行configure文件

然后按照下图选项进行操作: 

技术分享

 

6.3 创建pip

技术分享

在terminal中输入以下命令:

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install /home/***(你自己的用户名)/Desktop/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl

 

 

6.4 设置tensorflow环境

技术分享

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
 # To build with GPU support:
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/* .
python setup.py develop

 

说明:在编译可能需要花费很长时间,慢慢等就行了,或许我的电脑配置太低,等了大半天才编译完。

此时恭喜你,已经完成了安装

7. 测试tensorflow

这里进行测试,如果你能跟我看到同样的画面,那恭喜你成功配置GPU版的tensorflow啦! 

技术分享

$ cd tensorflow/models/image/mnist
$ python convolutional.py

8. 常见问题

 

8.1循环登录

在ubuntu14.04安装N卡驱动后,会出现无法显示登录界面或者循环登录的问题。这主要是显卡不兼容,具体解决思路可以参考google上的解决方案,关键词 ubuntu login loop。 
经过测试,网上的教程对我都不适用,无奈转向ubuntu16.04

8.2 缺少第三方库

因为这个教程是我安装成功之后写的,其中难免遗忘某些库的安装,例如Git、pip这些库,安装过程很简单,具体可以google。

8.3 tensorflow配置问题

在执行./configure 或者设置tensorflow环境时,如果出现无法找到某个库的路径,那么检查是否正确的设置了cuda的环境变量,具体参考 4.1节。

 

说明:转载自

http://blog.csdn.net/zhaoyu106/article/details/52793183

 

























以上是关于ubuntu16.4搭建tensorflow环境的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper3.Zookeeper环境搭建1

Ubuntu16.4搭建DNS服务器

在Ubuntu搭建TensorFlow环境

ubuntu Tensorflow object detection API 开发环境搭建

深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

深度学习(TensorFlow)环境搭建:Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3