Tensorflow

Tensorflow 是谷歌在 2015 年 11 月开源的机器学习框架,来源于 Google 内部的深度学习框架 DistBelief。由于其良好的架构、分布式架构支持以及简单易用,自开源以来得到广泛的关注。主要特点包括:

Tensorflow 是一个使用数据流图 (data flow graphs) 技术来进行数值计算的开源软件库。

数据流图是是一个有向图,使用结点(一般用圆形或者方形描述,表示一个数学操作或者数据输入的起点和数据输出的终点)和线(表示数字、矩阵或者 Tensor 张量)来描述数学计算。数据流图可以方便的将各个节点分配到不同的计算设备上完成异步并行计算,非常适合大规模的机器学习应用。

Tensorflow 支持多种异构平台,包括 CPU、GPU、移动设备等。TensorFlow 内核采用 C/C++ 开发,并提供了 C++,Python,Java,Go 语言的 Client API。其架构灵活,能够支持各种网络模型,具有良好的通用性和可扩展性。

系统概述

Tensorflow 以 C API 为边界可以分为前端系统(提供编程模型,负责构造计算图)和后端系统(提供运行环境,负责执行计算图):

如上图所示,系统中主要组件包括

组件交互

假设存在两个任务

组件交互过程为

安装方法

最简单的方法使用 pip 来安装:

# Python 2.7
pip install --upgrade tensorflow
# Python 3.x
pip3 install --upgrade tensorflow

也可以使用 docker 镜像:

# CPU only
docker run -it -p 8888:8888 tensorflow/tensorflow
# GPU version
nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu

Azure Notebooks 中安装:

!conda update pip six -y
!conda install tensorflow Theano keras -y

验证安装

$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>>

参考文档