繁体   English   中英

如何计算 TensorFlow 中 4-D 张量的平均值

[英]How to calculate the mean value of a 4-D tensor in TensorFlow

我只是用TensorFlow实现了一个CNN模型。 在这里,我有一个 4 维的张量:A=[16,96,96,64](16 是批量大小,96 是图像块大小,64 是特征图的数量)。 我只需要计算张量 A 中每个特征图的平均值(如平均池化)并返回一个大小为 [16,1,1,64] 的新张量,它包含 A 中每个特征图的平均值.

你能告诉我我是如何意识到这一点的吗?

提前致谢!

一个大小为 [16,96,96,64] 的张量,我需要获取这个张量中每个特征图的平均值并返回一个大小为 [16,1,1,64] 的张量。 我不知道如何实现这一点。

结果应该是包含张量A中特征图均值的张量,其大小为[16,1,1,64]。

使用tf.reduce_mean()和指定的参数axis来计算均值,然后使用tf.expand_dims()来恢复减少的轴:

import tensorflow as tf
import numpy as np

x = tf.placeholder(tf.float32, (None, 96, 96, 64))

reduced = tf.expand_dims(tf.reduce_mean(x, axis=1), 1)
reduced = tf.expand_dims(tf.reduce_mean(reduced, axis=2), 2)

data = np.random.normal(size=(16, 96, 96, 64))

with tf.Session() as sess:
    evaled = reduced.eval({x:data})
    print(evaled.shape) # (16, 1, 1, 64)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM