根據官方文檔:
reduce_sum應該理解為壓縮求和,用於降維
tf.reduce_sum(input_tensor,axis=None,keepdims=None,name=None,reduction_indices=None,keep_dims=None)
Args:
input_tensor
: The tensor to reduce. Should have numeric type. #輸入axis
: The dimensions to reduce. IfNone
(the default), reduces all dimensions. Must be in the range (rank(input_tensor), rank(input_tensor))
.#取0第一維,取1第二維,取-1最后一維keepdims
: If true, retains reduced dimensions with length 1.#按照原來的維度name
: A name for the operation (optional).reduction_indices
: The old (deprecated) name for axis.#axis的原來的名字keep_dims
: Deprecated alias forkeepdims
.import tensorflow as tf import numpy as np x = tf.constant([[1,1,1],[2,2,2]]) with tf.Session() as sess: print(sess.run(tf.reduce_sum(x))) #所有求和 print(sess.run(tf.reduce_sum(x,0))) #按 列 求和 print(sess.run(tf.reduce_sum(x,1))) #按 行 求和 print(sess.run(tf.reduce_sum(x,1,keepdims=True))) #按維度 行 求和 print(sess.run(tf.reduce_sum(x,[0,1]))) #行列求和 print(sess.run(tf.reduce_sum(x,reduction_indices=[1])))
輸出結果:
9 [3 3 3] [3 6] [[3] [6]] 9 [3 6]
求最大值tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)
求平均值tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
參數1--input_tensor:待求值的tensor。
參數2--reduction_indices:在哪一維上求解。
參數(3)(4)可忽略
import tensorflow as tf import numpy as np x = tf.constant([[1,2],[3,4]]) with tf.Session() as sess: print(sess.run(tf.reduce_mean(x))) #所有求平均 print(sess.run(tf.reduce_mean(x, 0))) #按 列 求和 print(sess.run( tf.reduce_mean(x, 1)))#按行求平均 print(sess.run(tf.reduce_max(x))) print(sess.run(tf.reduce_max(x, 0))) print(sess.run(tf.reduce_max(x, 1)))
###############輸出##########
2 [2 3] [1 3] 4 [3 4] [2 4]