微信公众号:python宝
关注可了解更多的python相关知识。若有问题或建议,请公众号留言;
内容目录
一、TensorFlow简介
二、构建图
三、启动图
四、GPU 使用介绍
五、交互式使用
六、Tensor 和 tf.assign
七、常量、random_normal()和变量
八、Fetch 和 Feed
# http://www.tensorfly.cn/tfdoc/get_started/basic_usage.html
一、TensorFlow简介
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算,数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。
使用 TensorFlow, 必须明白 TensorFlow:
使用图 (graph) 来表示计算任务;
在被称之为
会话 (Session)
的上下文 (context) 中执行图;使用 tensor 表示数据;
通过
变量 (Variable)
维护状态;使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据;
TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写)。一个 op 获得 0 个或多个 Tensor
, 执行计算, 产生 0 个或多个 Tensor;
每个 Tensor 是一个类型化的多维数组.;例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 [batch, height, width, channels]。
一个 TensorFlow 图描述了计算的过程. 为了进行计算, 图必须在 会话
里被启动. 会话
将图的 op 分发到诸如 CPU 或 GPU 之类的 设备
上, 同时提供执行 op 的方法. 这些方法执行后, 将产生的 tensor 返回. 在 Python 语言中, 返回的 tensor 是 numpy ndarray
对象; 在 C 和 C++ 语言中, 返回的 tensor 是tensorflow::Tensor
实例.
“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。图中的节点被称之为 op (operation 的缩写)。一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组. 例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 [batch, height, width, channels]。
“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。
二、构建图
构建图的第一步, 是创建源 op (source op). 源 op 不需要任何输入, 例如常量 (Constant). 源 op 的输出被传递给其它 op 做运算。
Python 库中, op 构造器的返回值代表被构造出的 op 的输出, 这些返回值可以传递给其它 op 构造器作为输入。