基础
.constant: 生成一个常量类型的张量
.Session: 生成一个可运算的会话句柄
.InteractiveSession(): 等价于 sess = tf.Session(), 但是结果的运行会有所不同
InteractiveSession():使用这个需要在运行函数后 .eval(), 才会得到结果
Session(): 使用这个需要配合 生成的句柄再结合 .run(), 才会得到结果
参见:https://mp.youkuaiyun.com/postedit/83090659
.convert_to_tensor: 可将 Python 对象转化为 tensor 对象,
它的输入可以是 tensor 对象,numpy 对象,Python 列表,Python 标量
.Variable: 给一个变量赋初值
矩阵运算
.transpose(X): 矩阵转置运算
.matmul(X, Y): 矩阵乘法 X * Y
.matrix_determinant(X): 求矩阵行列式
.matrix_inverse(X): 求矩阵的逆
.matrix_solve(X, [[m], [n], [p], [q]]):求以矩阵 X 为系数矩阵,m、n、p、q 为常数的解
张量的约简(Reduction)
.reduce_prod: 对矩阵的每一行元素进行累乘
.reduce_min: 取矩阵每一行最小的元素
.reduce_max: 取矩阵每一行最大的元素
.reduce_mean: 求矩阵每一行之和的算术平均值
.reduce_sum: 对矩阵的每一行求和
.reduce_logsumexp: 对矩阵的每一行做 log(sum(exp(每行的元素))) 处理
.reduce_all: 张量为布尔型矩阵,每一行作“与”运算
.reduce_any: 张量为布尔型矩阵,每一行作“或”运算
张量的分割(Segment)
.segment_sum(tensor, segmentIDs): tensor,要进行分割的张量;segmentIDs,对张量进行标记分割 分割张量, 要相互进行操作的张量维度进行标记。这里相当于进行分组 例如:
import tensorflow as tf segmentIDs = tf.constant([0, 1, 1, 2, 2]) # 分割张量, 要相互进行操作的张量维度进行标记。这里相当于分了三组(0|1,1|2,2), tensor = tf.constant([[2, 5, 3, -5], [0, 3, -2., 5], [4, 3, 5., 3], [6, 1, 4, 0], [4, 2, 5, -2]])
tf.segment_sum(tensor, segmentIDs) # 将张量 tensor 分割为:第一行为一组,第二、三行为一组,第四、五行为一组,进行求和运算
结果为:
[[ 2. 5. 3. -5.]
[ 4. 6. 3. 8.]
[10. 3. 9. -2.]]
其他张量分割运算都有同样的分割和运算形式
.segment_sum: 对具有相同标记的张量维度进行求和 .segment_prod: 对具有相同标记的张量维度进行相乘 .segment_min: 取具有相同标记的张量维度的最小元素 .segment_max: 对具有相同标记的张量维度的最大元素 .segment_mean: 对具有相同标记的张量维度的元素之和的均值