Python 计算张量的平均值,并将此值用作张量值

Python 计算张量的平均值,并将此值用作张量值,python,tensorflow,keras,average,Python,Tensorflow,Keras,Average,我对张量没有很好的了解,所以如果这是一个愚蠢的问题,请原谅我 我尝试使用Keras的Lambda图层为我的模型添加一个特殊图层。 我希望这一层计算张量的平均值,我希望这个平均值被用作张量值 更清楚地说,这是我需要的,但在numpy中,我不知道如何使用张量: (使用NumPy不适用于张量) 我确实尝试了以下方法: avg = tf.reduce_mean(colInput) 我也尝试过: avLayer= Lambda(lambda x: tf.reduce_mean(x, axis=1, ke

我对张量没有很好的了解,所以如果这是一个愚蠢的问题,请原谅我

我尝试使用Keras的Lambda图层为我的模型添加一个特殊图层。 我希望这一层计算张量的平均值,我希望这个平均值被用作张量值

更清楚地说,这是我需要的,但在numpy中,我不知道如何使用张量: (使用NumPy不适用于张量)

我确实尝试了以下方法:

avg = tf.reduce_mean(colInput)
我也尝试过:

avLayer= Lambda(lambda x: tf.reduce_mean(x, axis=1, keepdims=False))(visible)
where visible将我的共输入作为输入层,但我无法为张量中的每个元素创建结果集,并使用这个新的张量

我的张量形状是(?,1,27) 我想得到27,但它们等于平均值


提前谢谢

我不确定这是否是您想要的,但请告诉我-

xx=tf.常数([1,0,1,0.])
tf.扩大直径(tf.重复(tf.缩小直径平均值(xx),xx.形状[0]),轴=1)
产出将是
<tf.Tensor: shape=(4, 1), dtype=float32, numpy=
array([[0.5],
       [0.5],
       [0.5],
       [0.5]], dtype=float32)>


如果你的输入张量是
[[1,2,3,4]
,你希望输出是
[[2.5,2.5,2.5,2.5]]
?是的,这是真的,谢谢Sai,这和我需要的概念是一样的,但这里你的数据形状是(4),你能帮我看看这对数据形状(?,1,27)是如何工作的吗?
在[56]:tf.restrape(tf.repeat)(tf.reduce)(u mean(xx),xx.shape[0]),[1,1,4])
Out[56]:
这是您上面看到的示例的扩展,我认为您可以将重塑尺寸替换为[1,1,27],以满足您的需要
<tf.Tensor: shape=(4, 1), dtype=float32, numpy=
array([[0.5],
       [0.5],
       [0.5],
       [0.5]], dtype=float32)>