降纬函数
tensorflow 里有一类函数是以reduce开头的,reduce 有减少的意思,这里就是减少纬度的意思。
reduce_prod()
先上一波官网解释:
reduce_prod(
input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None
)
参数:
input_tensor:要减少的张量.应该有数字类型.
axis:要减小的尺寸.如果为None(默认),则将缩小所有尺寸.必须在[-rank(input_tensor), rank(input_tensor))范围内.
keep_dims:如果为true,则保留长度为1的缩小维度.
name:操作的名称(可选).
reduction_indices:axis的废弃的名称.
此函数计算一个张量的各个维度上元素的乘积.
函数中的input_tensor是按照axis中已经给定的维度来减少的;除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1;如果keep_dims为true,则减小的维度将保留为长度1.
如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量.
老感觉这个定义很抽象,现在用实际例子来进行说明:
import tensorflow as tf
x = tf.constant([[1, 2, 3], [4, 5, 6]])
y = tf.reduce_prod(x)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(y))
运行结果为:
结果为:720,也就是这个tensorflow常量中各纬度中的值的乘积,据我所知,这个函数经常在计算神经网络中的参数数量中使用。