ubuntu16.04 tensoflow使用服务器需要支持gpu吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu16.04 tensoflow使用服务器需要支持gpu吗相关的知识,希望对你有一定的参考价值。

参考技术A 1. 下载
1.1 系统镜像
由于我尝试了ubuntu14.04,安装Nvidia驱动之后,会出现循环登录的问题,并始终无法找到有效的解决途径,所以只能选择ubuntu16.04了。

1.2 CUDA 8.0

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

1.3 cuDNN v5

说明:
(1)下载需要填写一个调查问卷,就三个选项,建议认真填写,毕竟人家免费给咱使用。
(2)填写完毕点击 I Agree To 前面的小方框,出现如下:

1.4 Tensorflow 0.11
tensorflow github上面提到 4 种安装方式,本教程使用 第四种 源码安装
Virtualenv installation
Anaconda installation
Docker installation
Installing from sources

说明:
(1)打开下载页面,往下翻,直到下图这个位置:

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

最后,将1.2-1.4中下载文件全部存放至自己的移动硬盘/U盘内,等待安装时候使用。
2. 安装ubuntu16.04 LTS 系统
安装Ubuntu16.04:

说明:
(1)我们直接安装的英文原版系统,语言也是选择英文的。
(2)上述链接在–第三步:安装类型上选择的是–自定义。我们选择的是–清除整个磁盘并且安装,如果你有Windows系统,还会提示安装Ubuntu16.04与Windows并存模式。这个自行选择,切记!这个地方谨慎选择。
(3)感谢百度经验上传者!
3. 安装NVIDIA驱动
打开terminal输入以下指令:
sudo apt-get update1

然后在系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改
3. cuda 8.0
3.1 安装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 cuda1234

3.2 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++123456789

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*12345

4. 安装其他依赖
4.1 配置环境变量

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

然后在打开的文本末尾加入:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda12

继续在terminal中输入:
source ~/.bash_profile #使更改的环境变量生效1

当然,也有其他教程在文件~/.bashrc文件中写入的,方法与上面的类似。如果在后面配置./config文件出现问题时,可以实现这个方法。
4.2 安装其他库
/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
我们是在github的Tensorflow官方网页上,根据提示安装,地址如上。
按步骤截图如下

在terminal中输入以下命令:
sudo apt-get install python-pip python-dev 1

4. 安装Bazel
4.1 安装Bazel依赖
由于本教程使用tensorflow源码编译/安装,所以需要使用 bazel build。

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

4.2 安装Bazel
之后回到之前的Tensorflow安装教程页面: /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文件123

4.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 123

5. 安装tensorflow
5.1 下载tensorflow
在terminal中输入以下命令
git clone /tensorflow/tensorflow1

特别注意,我使用的是tensorflow 0.11版本,该版本要求cuda 7.5 以上,cuDNN v5。
默认下载目录是在/home下
5.2 配置tensorflow
还是刚刚的网址
/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
在terminal中输入以下命令:
cd ~/tensorflow #切换到tensorflow文件夹
./configure #执行configure文件12

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

5.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.10.0-cp2-none-any.whl1234

5.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 develop12345678

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

Tensoflow基础

1、with   tf.compat.v1.Session() as  sess:

一个Session可能会拥有一些资源,例如Variable或者Queue。当我们不再需要该session的时候,需要将这些资源进行释放。有两种方式,

  • 调用session.close()方法;
  • 使用with   tf.compat.v1.Session() as  sess创建上下文(Context)来执行,当上下文退出时自动释放。

2、tf.get_default_graph()

功能:这个函数可以获取当前默认的计算图

1 #通过a.graph可以查看张量所属的计算图
2 print(a.graph is tf.get_default_graph()) #输出True

所有张量和流动默认都在默认的计算图中

3、tf.compat.v1.get_default_graph()

除了使用默认计算图,TensorFlow支持通过tf.compat.v1.get_default_graph()来生成新的计算图。不同计算图上的张量和运算都不会共享。通常不新建计算图

4、tensorboard

tensorboard通过读取tensorboard的事件文件来运行,需要将数据生成一个序列化的Summary protbuf对象。

第一、创建一个事件文件

1summary_waiter = tf.compat.v1.summary.FileWriter("/tmp/summary/", graph=sess.graph)

/tmp/summary/是事件文件所在的目录,这里是工程目录下的/tmp/summary/目录。第二个参数是事件文件要记录的图,不指定则默认是tensorflow默认的图。 

第二、启动tensorboard

1 tensorboard --logdir=/tmp/summary/ --host=127.0.0.1

 

 

以上是关于ubuntu16.04 tensoflow使用服务器需要支持gpu吗的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Ubuntu 16.04 中启动 Docker 服务

Ubuntu 16.04搭建ftp服务器

无服务器:在 ubuntu 16.04 中找不到命令

阿里云服务器(Ubuntu16.04 64位)的使用

Ubuntu-16.04搭建DHCP服务

在 ubuntu 16.04 LTS 上运行 mongodb