2019独角兽企业重金招聘Python工程师标准>>>

Tensorflow环境搭建 博客分类: 深度学习

Tensorflow环境搭建

本章主要介绍在几个主要的平台上,如何安装Tensorflow,以及简单的运行测试。

2.1 安装环境

目前TensorFlow社区推荐的环境是Ubuntu, 但是TensorFlow同时支持Mac,Windows上的安装部署。

因为深度学习计算过程,大量的操作是向量和矩阵的计算,而GPU在向量和矩阵计算方面比CPU有一个数量级的速度提升,所以深度学习在GPU上运算效率更高。

2.1.1 CUDA简介

显卡厂商NVIDIA推出的运算平台CUDA(Compute Unified Device Architecture),是一种通用的并行计算架构,该架构使GPU能够解决复杂的计算问题,它包含了CUDA指令集以及GPU内部的并行计算引擎。提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。程序开发人员通过C语言,利用CUDA的指令接口,就可以编写CUDA架构的程序。

2.1.2 CuDNN简介

CuDNN的全称是CUDA Deep Neural Network library,CuDNN是专门针对深度学习框架设计的一套GPU计算加速方案,最新版本的CuDNN提供了对深度神经网络中的向前向后的卷积,池化,以及RNN的性能优化。目前大部分深度学习框架都支持CuDNN。

目前包括TensorFlow在内的大部分深度学习框架,都支持CUDA。所以,为了让我们的深度神经网络的程序在TensorFlow上跑的更加好,推荐配置至少一块支持CUDA和CuDNN的NVIDIA的显卡。

2.2 TensorFlow的安装

Tensorflow的Python语言API支持Python2.7和Python3.3以上的版本。GUP版本推荐使用Cuda Toolkit 8.0和CuDNN v5.版本,Cuda和CuDNN的其他版本也支持,不过需要自己编译源代码的方式安装。

2.2.1 通过pip安装TensorFlow

pip是用来安装和管理Python包的管理工具。TensorFlow可以很方便的通过Pip来安装。
首先介绍pip在各个平台的安装方法。

2.2.1.1 安装Pip

在安装Pip之前请先自行安装好Python。

在Ubuntu/Linux系统上安装pip

?
1
2
3
4
5
#python2. 7 上安装pip
$ sudo apt-get install python-pip python-dev
#python3. 5 上安装pip
$ sudo apt-get install python3-pip

在Mac系统上安装pip

?
1
2
$ sudo easy_install pip
$ sudo easy_install --upgrade six

在Windows系统上安装Pip

?
1
2
3
4
5
6
7
8
# 去Python官网下载pip
https: //pypi.python.org/pypi/pip#downloads
#解压文件,通过命令行安装pip
> python setup.py install
# 设置环境变量
在Windows的环境变量的PATH变量的最后添加 "\Python安装目录\Scripts"

2.2.1.2 如何通过pip安装

Tensorflow已经把最新版本的安装程序上传到了Pypi,所以我们可以通过最简单的方式来安装TensorFlow。 (要求pip版本在8.1版本或者更高)

安装CPU版本的TensorFlow

?
1
2
3
4
5
#Python2. 7
sudo pip install tensorflow
#Python3. 5
sudo pip3 install tensorflow

安装支持GUP版本的TensorFlow

?
1
2
3
4
5
#Python2. 7
sudo pip install tensorflow-gpu
#Python3. 5
sudo pip3 install tensorflow-gpu

注意:目前在Windows上只支持64位的Python3.5版本。TensorFlow在Windows上依赖MSVCP140.DLL,需要提前安装Visual C++ 2015 redistributable (x64 version),并且将MSVCP140.DLL添加到环境变量PATH里。

在Windows系统上安装CPU版本(0.12版本)

?
1
C:\> pip install --upgrade https: //storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl

在Windows系统上安装GPU版本(0.12版本)

?
1
C:\> pip install --upgrade https: //storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl

源码编译安装tensorflow">2.2.2 源码编译安装TensorFlow

有时候我们需要单独自定义一下TensorFlow的安装,比如我们的cuda是7.5版本的,这个时候我们可能需要自己编译源码进行安装。(这里只介绍在Ubuntu系统上)

2.2.2.1 从git上下载源码:
?
1
git clone https: //github.com/tensorflow/tensorflow
2.2.2.2 安装Bazel

Bazel是Google开源的一套自动化构建工具,可以通过源的方式安装,也可以通过编译源码安装,这里只介绍最简单的通过源的安装方式。

先安装JDK8

?
1
2
3
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

添加Bazel源的地址

?
1
2
$ echo "deb [arch=amd64] https://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 -

安装Bazel

?
1
2
$ sudo apt-get update
$ sudo apt-get install -y bazel

2.2.2.3 编译TensorFlow
?
1
2
3
4
5
6
7
8
9
#在过程中会进行一些参数路径选择,根据需要自己配置
cd tensorflow
./configure
#添加--config=cuda表示GPU版本
bazel build -c opt --config=cuda --define=use_fast_cpp_protos= true //tensorflow/tools/pip_package:build_pip_package
#编译完的whl文件会放到/tmp/tensorflow_pkg目录
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
#安装编译好的TensorFlow
sudo pip install --upgrade /tmp/tensorflow_pkg/tensorflow- 0.12 *.whl

注意:编译安装过程中可能出现一些其他的依赖需要手动安装

?
1
2
3
#根据运行出错的提示可能需要安装funcsigs和pbr
sudo pip install funcsigs
sudo pip install pbr

2.3 Cuda和CuDNN安装

如果我们要使用TensorFlow的GPU版本的话,我们还需要安装Cuda和CuDNN库。

2.3.1 NVIDIA驱动安装

驱动下载地址

?
1
https: //www.nvidia.com/download/driverResults.aspx/106780/en-us

驱动安装

?
1
2
$ sudo chmod +x NVIDIA-Linux-x86_64- 367.44 .run
$ ./NVIDIA-Linux-x86_64- 367.44 .run

2.3.2 Cuda安装

根据自己的系统选择不同版本的Cuda下载安装。

下载地址

?
1
https: //developer.nvidia.com/cuda-downloads

安装过程会提示一些选项,需要注意的是,我们在2.3.1已经安装了NVIDIA的驱动,所以在提示是否需要安装NVIDIA Accelerated Graphics Driver的时候选择n
选择参考如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.77 ?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
  [ default is /usr/local/cuda- 8.0 ]: [回车]
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: n

安装成功后,提示我们需要把路径添加到环境变量里

?
1
2
3
Please make sure that
  -   PATH includes /usr/local/cuda- 8.0 /bin
  -   LD_LIBRARY_PATH includes /usr/local/cuda- 8.0 /lib64, or, add /usr/local/cuda- 8.0 /lib64 to /etc/ld.so.conf and run ldconfig as root

在/etc/profile或者~/.bashrc中添加如下内容:

?
1
2
3
export PATH=/usr/local/cuda- 8.0 /bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda- 8.0 /lib64/:$LD_LIBRARY_PATH
#然后执行 source /etc/profile 或者 source ~/.bashrc

2.3.3 CuDNN安装

根据自己的系统环境和Cuda的版本,选择下载CuDNN。

下载地址

?
1
https: //developer.nvidia.com/rdp/cudnn-download

安装过程

?
1
2
3
4
5
#以CuDNN的v5. 1 版本,Cuda 8.0 为例
sudo tar -xzvf cudnn- 8.0 -linux-x64-v5. 1 .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*

设置环境变量

?
1
2
3
4
5
6
#编辑/etc/profile或者~/.bashrc文件,在末尾添加如下内容(根据自己的安装路径和版本请自行修改对应内容)
export LD_LIBRARY_PATH=/usr/local/cudnn/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH= "$DYLD_LIBRARY_PATH:$CUDA_HOME/lib"
export PATH= "$CUDA_HOME/bin:$PATH"
#然后执行 source /etc/profile 或者 source ~/.bashrc

安装完成之后,让我们来测试一下CUDA,运行:

?
1
nvidia-smi

结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48                 Driver Version: 367.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX TIT...  Off  | 0000 : 04 : 00.0     Off |                  N/A |
| 27 %   67C    P0    77W / 250W |      0MiB / 12205MiB |      0 %      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX TIT...  Off  | 0000 : 83 : 00.0     Off |                  N/A |
| 29 %   69C    P0    78W / 250W |      0MiB / 12206MiB |      0 %      Default |
+-------------------------------+----------------------+----------------------+
|   2  GeForce GTX TIT...  Off  | 0000 : 84 : 00.0     Off |                  N/A |
0 %   60C    P0    58W / 250W |      0MiB / 12206MiB |      0 %      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

说明NVIDIA的驱动和cuda已经安装成功了。
上面的显示表示本机有3个GPU,GPU核心GeForce GTX TITAN,每个GPU有12G显存,因为没有在上面跑任何程序,所以目前GPU显存利用了0M,GPU利用率0%。

2.4 安装测试

好,如果顺利的话,到这里我们已经成功安装好了TensorFlow,那么让我简单测试一下安装是否成功。

?
1
2
3
4
5
$ python
...
>>> import tensorflow as tf
>>> print(tf.__version__)
0.12 . 0 -rc1

上面这段代码,正常运行会打印出来TensorFlow的版本号,这里是“0.12.0-rc1”

常见问题:

?
1
如果在 import tensorflow as tf之后,打印出来cuda的so或者cudnn的so没有找到, 一般是因为cuda或者cudnn的路径没有添加到环境变量里。

我们再跑一个简单的计算,看看tensorflow是否运行正常。输入如下代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant( 'Hello, TensorFlow!' )
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant( 1 )
>>> b = tf.constant( 2 )
>>> c=sess.run(a + b)
>>> print( "1+2= %d" % c)
1 + 2 = 3
>>>

如果你的这段代码可以正常输出“Hello, TensorFlow!” 和“1+2= 3”, 那么恭喜你,我们已经安装TensorFlow成功了。

https://www.2cto.com/kf/201612/580957.html

转载于:https://my.oschina.net/xiaominmin/blog/1596908

Tensorflow环境搭建相关推荐

  1. 深度学习之tensorflow环境搭建

    深度学习之tensorflow环境搭建: 1.搭建的步骤 1-1.破解版的Pycharm软件包下载 1-2.Ananconda软件包的下载 1-3.使用Anaconda Prompt 命令,首先输入 ...

  2. 深度学习(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow环境搭建

    cuda8.0+ubuntu16.04+theano.caffe.tensorflow环境搭建 目前自己撘过深度学习各种库.各种环境,已经搭建了n多台电脑,发现每台电脑配置安装方法各不相同,总会出现各 ...

  3. Windows TensorFlow环境搭建

    Windows TensorFlow环境搭建 简介 本次安装是在Windows10 上进行的,使用tensorflow安装的环境为 Anaconda.Python3.7.TensorFlow2.0 搭 ...

  4. Win10下双系统Ubuntu14.04+GTX1070+CUDAcuDNN+Tensorflow环境搭建

    先说机器配置: CPU:Intel Xeon E3-1230 v5 skylake平台(此CPU无核显) 主板:ASUS E3 Pro Gaming v5 RAM:8G GPU:ASUS STRIX- ...

  5. 最适合 Apple Silicon 的 Tensorflow 环境搭建

    最适合 Apple Silicon 的 Tensorflow 环境搭建 文章目录 最适合 Apple Silicon 的 Tensorflow 环境搭建 前言 一.mini- forge下载: 1. ...

  6. WIN10 下 Tensorflow 环境搭建

    TensorFlow开发环境搭建 1.安装python 2.安装eclipse+pydev插件 3.安装Tensorflow等python插件 这里介绍基于eclipse的Tensorflow环境搭建 ...

  7. Tensorflow深度学习入门(1)——Tensorflow环境搭建

    Tensorflow深度学习入门--环境搭建 自测以下的环境搭建方式是行得通的,目前我用的就是这些 1.        下载安装Ubuntu 14.04 虚拟机 https://github.com/ ...

  8. TensorFlow环境搭建(Win7-VS2015-DirectXSDK-CUDA8-Anaconda3-cuDNN6-TensorFlow120)

      目标是从零开始搭建TensorFlow(CPU/GPU)环境. 经过几天奋战,遇到了许多问题,查找了很多网友的资料,有些问题搞清楚了原因,有些问题没有明确具体原因,但给出了分析和可能的解决方案,并 ...

  9. [Python人工智能] 一.TensorFlow环境搭建及神经网络入门

    从本篇文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.第一篇文章主要讲解神经网络基础概念,同时讲解TensorFlow2.0的安装过程及基础用法,主要结合作者之前的博客和& ...

最新文章

  1. Jackson 序列化对象成 JSON 字符串,忽略部分字段(属性)
  2. 11g新特性-SQL Plan Management
  3. remo video repair中文版
  4. leetcode 35 Search Insert Position(二分法)
  5. ITK:应用Cos图像滤镜
  6. mysql binlog2sql_mysql闪回工具binlog2sql安装配置教程详解
  7. Java面向对象(16)--单例(Singleton)设计模式
  8. Stream操作Collection集合
  9. win10下mount挂载文件 samba cifs
  10. web 安全-电脑端口(全部)
  11. qpython3h手机版怎么发短信_阿里云短信 python3代码发送短信
  12. 卡方检验在关联分析中的应用
  13. Virtual Box报错VT-x is not available (VERR_VMX_NO_VMX)--大踩坑(二)
  14. 【R】【课程笔记】07 分位数回归与VaR(ES)计算
  15. 传统图像去噪方法(三)之非局部均值去噪(NLM)
  16. 网络安全工程师自主学习计划表(具体到阶段目标)
  17. 编译原理实验:Java实现SLR(1)语法分析器
  18. Day-5 python
  19. 常太晚睡觉等于自杀!!熬夜也要有技巧!!
  20. 商务网站建设与维护【1】

热门文章

  1. Qt 解析 DXF 文件
  2. 孙俪主演的热播剧《安家》房似锦,让我们看到比贫穷更可怕的是原生家庭
  3. 全网最新小白API查Q绑定带反查SGK+带接口
  4. dcos -1.7 都有哪些服务
  5. springboot整合poi基于excel模板下载的功能实现
  6. 阿里二面一问MySQL就开始野了,抓着底层原理不撒手啊!
  7. MATLAB 将RGB颜色空间转为HSI颜色空间、LAB颜色空间 原理及程序
  8. python pip本身的安装路径
  9. layui数据表格实现快捷键切换编辑单元格
  10. threejs camera.lookAt()的作用