Matrix tensorflow:reduce_max函数

Matrix tensorflow:reduce_max函数,matrix,tensorflow,deep-learning,Matrix,Tensorflow,Deep Learning,考虑以下代码- a=tf.convert_to_tensor(np.array([[1001,1002],[3,4]]), dtype=tf.float32) b=tf.reduce_max(a,reduction_indices=[1], keep_dims=True) with tf.Session(): print b.eval() 在这里保持昏暗的目的到底是什么?我做了很多测试,发现上面的内容相当于- b=tf.reduce_max(a,reduction_indices=[1]

考虑以下代码-

a=tf.convert_to_tensor(np.array([[1001,1002],[3,4]]), dtype=tf.float32)
b=tf.reduce_max(a,reduction_indices=[1], keep_dims=True)
with tf.Session():
   print b.eval()
在这里保持昏暗的目的到底是什么?我做了很多测试,发现上面的内容相当于-

b=tf.reduce_max(a,reduction_indices=[1], keep_dims=False)
b=tf.expand_dims(b,1)

我可能错了,但我的猜测是,如果keep_dims为False,我们就得到了一个2D Column向量。如果keep_dims=True,我们有一个2x1矩阵。但它们有何不同

如果减少一个或多个索引(即张量的维数),则可以有效地减少张量的秩(即其维数或换句话说,访问张量元素所需的索引数)。通过设置
keep_dims=True
,您告诉tensorflow保留您减少的维度。他们将有大小1,但他们仍然存在。虽然列向量和nx1矩阵在概念上是相同的,但在tensorflow中,它们分别是秩1(访问元素需要一个索引)和秩2(访问元素需要两个索引)的张量。

如果减少一个或多个索引(即张量的维数),有效地降低了张量的秩(即其维数,或者换句话说,访问张量元素所需的索引数)。通过设置
keep_dims=True
,您告诉tensorflow保留您减少的维度。他们将有大小1,但他们仍然存在。虽然列向量和nx1矩阵在概念上是相同的,但在tensorflow中,它们分别是秩1(访问元素需要一个索引)和秩2(访问元素需要两个索引)的张量