初步认识
「TensorFlow」是 Google 多年以来内部的机器学习系统 基本使用:
- 图(graph)来表示计算任务
- 在会话 (Session) 的上下文 (context) 中执行图
- tensor 表示数据
- 变量 (Variable) 维护状态
- feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据
tensorflow 本质:一个编程系统 图来表示计算任务 图中的节点称为op (operation) 一个op获得0个或者多个Tensor 每一个Tensor是类型化的多维数组
tensorflow 图描述计算过程 图必须在会话中启动 会话将图的op分发到CPU或GPU上 会话也提供执行op的方法 op执行后,将产生的Tensor返回 python中返回的tensor是numpy对象 C++中返回的tensor是tensorflow::Tensor 实例
计算图 TensorFlow 程序组织成 构建阶段 and 执行阶段 构建阶段 op的执行步骤被描述成一个图 执行阶段 会话执行图中的op
构建图,首先是创造“源op” 源op 无输入,其输出被传递给其他op做运算
Python 库中, op 构造器的返回值代表被构造出的 op 的输出, 这些返回值可以传递给其它 op 构造器作为输入 TensorFlow Python 库有一个 默认图 (default graph) , op 构造器可以为其增加节点
启动图:首先创建一个 Session 对象 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU). 不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测. 用 with…Device 语句用来指派特定的 CPU 或 GPU 执行操作
交互式使用 使用一个会话 Session 来 启动图 调用 Session.run() 方法执行操作 若IPython 之类的 Python 交互环境,使用 InteractiveSession 代替 Session 类,使用Tensor.eval() 和 Operation.run() 方法代替 Session.run() .
Tensor tensor 数据结构来代表所有的数据 计算图中, 操作间传递的数据都是 tensor 一个 tensor 包含一个静态类型 rank, 和 一个 shape
变量维护图执行过程中的状态信息
Fetch 为了取回操作的输出内容 在使用 Session 对象的 run() 调用 执行图时, 传入一些 tensor
Feed feed 使用一个 tensor 值临时替换一个操作的输出结果 作为 run() 调用的参数
from 极客学院 TensorFlow 官方文档中文版 - v1.2
|