本章根据TensorFlow的中文文档学习
我也是跟着博客一步步往下学,并作出自己的理解。
1. 构建图
文档指出,构建图的第一步是要创建一个源op,源op不需要任何输入,它的输出也可以给别的op做运算。
Python 库中, op 构造器的返回值代表被构造出的 op 的输出, 这些返回值可以传递给其它 op 构造器作为输入.
TensorFlow Python 库有一个默认图 (default graph), op 构造器可以为其增加节点. 这个默认图对 许多程序来说已经足够用了
文档给出代码:
import tensorflow as tf
# 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点
# 加到默认图中.
#
# 构造器的返回值代表该常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])
# 创建另外一个常量 op, 产生一个 2x1 矩阵.
matrix2 = tf.constant([[2.],[2.]])
# 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.
# 返回值 'product' 代表矩阵乘法的结果.
product = tf.matmul(matrix1, matrix2)
默认图中现在有三个节点, 两个 constant() op, 和一个matmul() op.
1.1 constant
constant节点表示常量,函数签名为:
def constant(value, dtype=None, shape=None, name="Const", verify_shape=False)
通过constant创建一个常量tensor后。所得的tensor为dtype
型的值,由参数value
和shape
(可选地)指定。
参数dtype
可以是常量值,也可以是dtype
类型的值的列表。如果value
是一个列表,那么该列表的长度必须小于或等于由shape
参数所包含的元素的数量(如果指定了shape
)。在列表长度小于由shape
指定的元素的数量的情况下,列表中的最后一个元素将用于填充其余条目。
参数shape
是可选的。如果存在,则指定所得张量的维数。如果不存在,则使用value
的shape。
如果未指定参数dtype
,则从value