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
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++
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 chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
或者直接执行以下命令,就不需要复制
sudo tar -xvf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
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 pip install --upgrade pip
5. 安装Bazel
方案一:
Using Bazel custom APT repository (recommended)
1. Install JDK 8
If you are running Ubuntu Wily (15.10), you can skip this step. But for Ubuntu Trusty (14.04 LTS) users, since OpenJDK 8 is not available on Trusty, please install Oracle JDK 8:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
Note: You might need to sudo apt-get install software-properties-common
if you don't have the add-apt-repository
command. See here.
2. Add Bazel distribution URI as a package source (one time setup)
$ 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.build/bazel-release.pub.gpg | sudo apt-key add -
If you want to use the JDK 7, please replace jdk1.8
with jdk1.7
and if you want to install the testing version of Bazel, replace stable
with testing
.
3. Install and update Bazel
$ sudo apt-get update && sudo apt-get install bazel
Once installed, you can upgrade to newer version of Bazel with:
$ sudo apt-get upgrade 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
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 --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install --upgrade /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节。
8.4 在测试时提示unable to load cudnn dso
在使用 ll 命令查看/usr/local/cuda/lib64中的文件和原cuda/lib64文件时发现不一致,可能是在copy过程中出现问题。解决办法。
在/usr/local/cuda/lib64文件夹中执行以下命令
sudo rm libcudnn.so. libcudnn.so sudo ln -sf libcudnn.so. libcudnn.so sudo ln -sf libcudnn.so.5.1. libcudnn.so.
再进行测试,可以看到
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so locally
说明一切成功。
说明:转载自
http://blog.csdn.net/zhaoyu106/article/details/52793183
ubuntu16.4搭建tensorflow环境的更多相关文章
- TensorFlow笔记-02-Windows下搭建TensorFlow环境(win版非虚拟机)
TensorFlow笔记-02-Windows下搭建TensorFlow环境(win版非虚拟机) 本篇介绍的是在windows系统下,使用 Anaconda+PyCharm,不使用虚拟机,也不使用 L ...
- 在ubuntu16上搭建rabbitMQ环境
在ubuntu16上搭建rabbitMQ环境 安装rabbitMQ apt-cache pkgnames | grep rabbitmq apt-get install rabbitmq-server ...
- TensorFlow(1):使用Docker镜像搭建TensorFlow环境
1,关于TensorFlow TensorFlow 随着AlphaGo的胜利也火了起来. google又一次成为大家膜拜的大神了.google大神在引导这机器学习的方向. 同时docker 也是一个非 ...
- Ubuntu中的Docker搭建Tensorflow环境
一.docker环境安装 1)更新.安装依赖包 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates ...
- windows 10 环境下 使用Anaconda搭建 TensorFlow 环境
##大致步骤 1 安装Anaconda 2 在Anaconda中建立虚拟TensorFlow的虚拟环境 建立虚拟环境的命令是 conda create -n tensorflow python=3. ...
- Windows10下搭建TensorFlow环境
转载请注明源出处:http://www.cnblogs.com/lighten/p/6753695.html 这篇文章介绍了一下在Windows上安装TensorFlow的步骤,主要是翻译了一下官方的 ...
- win7搭建TensorFlow环境
官网安装指南地址:https://www.tensorflow.org/install/pip 安装过程碰到的问题: 1.创建虚拟环境 virtualenv --system-site-package ...
- TestLink+Jenkins在Ubuntu16.04搭建集成测试环境
序章 序1:TestLink和TestLink-API-Python-client 目前TestLink的最新版本是1.9.19 TestLink-API-Python-client支持的TestLi ...
- 利用Anaconda搭建TensorFlow环境并在Jupyter Notebook使用
打开Anaconda Prompt 创建一个tensorflow 虚拟环境:conda create -n tensorflow python=3.6 激活tensorflow虚拟环境activate ...
随机推荐
- 拼接多个 wchar_t *
/* wcscat example */ #include <wchar.h> int main () { wchar_t wcs[80]; wcscpy (wcs,L" ...
- [Backbone] Parse not formatted JSON code
The good Dr. recently had another team implement the server and they slightly messed up the format o ...
- Andriod中的依赖注入
Web后端开发者应该对依赖注入都比较熟悉,至于Android又是如何进行依赖注入的呢?在这篇文章中,让我们一起通过一个例子了解一下在Android中进行依赖注入的好处. AndroidAnnotati ...
- Android 之开发积累
1.后台设置ImageView的src属性 有三种方式:img = (ImageView)this.findViewById(R.id.img_result_analyze); [1]setImage ...
- uni-app 生命周期
生命周期分为:页面生命周期和应用生命周期 生命周期可参考:uni-app官方API 注意平台支持,仅某个平台支持会显示,5+App是超HTML5+的App方案. 例如分享:只有小程序支持.这时我们就要 ...
- The jQuery HTML5 Audio / Video Library (jQuery jPlayer插件给你的站点增加视频和音频功能)
http://jplayer.org/ The jQuery HTML5 Audio / Video Library jPlayer is the completely free and open s ...
- 算法笔记_001:斐波那契数的多种解法(Java)
本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...
- OpenERP Client Error
SyntaxError: JSON.parse: unexpected end of data http/mydomain:8069/web/webclient/js:23114 Solutions: ...
- 好记性不如烂笔头77-多线程-Thread子类的线程对象是不同的
Thread子类的线程对象是不同的. 比方: EasySelfThread thread = new EasySelfThread(); //同一个线程对象 Thread t1 = new Threa ...
- DevExpress添加Winform窗体到DockPanel
在使用DevExpress过程中,原先已经创建好的导航窗体,如何添加到DockPanel中进行展示? FormX frmX = new FormX(); frmX.Show(this.DockPane ...