我正在使用Python 3.7.7。和張量流 2.1.0。我是新手。我有 N 個(gè)具有形狀的張量(1, 12, 12, 512),我想對(duì)每個(gè)數(shù)組求和以獲得具有相同形狀的張量(1, 12, 12, 512)。然后除以N。這些張量是編碼器的輸出,摘要如下:_________________________________________________________________Layer (type)? ? ? ? ? ? ? ? ?Output Shape? ? ? ? ? ? ? Param #? ?=================================================================input_1 (InputLayer)? ? ? ? ?[(None, 200, 200, 1)]? ? ?0? ? ? ? ?_________________________________________________________________conv1_1 (Conv2D)? ? ? ? ? ? ?(None, 200, 200, 64)? ? ? 1664? ? ??_________________________________________________________________conv1_2 (Conv2D)? ? ? ? ? ? ?(None, 200, 200, 64)? ? ? 102464? ??_________________________________________________________________pool1 (MaxPooling2D)? ? ? ? ?(None, 100, 100, 64)? ? ? 0? ? ? ? ?_________________________________________________________________conv2_1 (Conv2D)? ? ? ? ? ? ?(None, 100, 100, 96)? ? ? 55392? ? ?_________________________________________________________________conv2_2 (Conv2D)? ? ? ? ? ? ?(None, 100, 100, 96)? ? ? 83040? ? ?_________________________________________________________________pool2 (MaxPooling2D)? ? ? ? ?(None, 50, 50, 96)? ? ? ? 0? ? ? ? ?_________________________________________________________________conv3_1 (Conv2D)? ? ? ? ? ? ?(None, 50, 50, 128)? ? ? ?110720? ??_________________________________________________________________conv3_2 (Conv2D)? ? ? ? ? ? ?(None, 50, 50, 128)? ? ? ?147584? ??_________________________________________________________________pool3 (MaxPooling2D)? ? ? ? ?(None, 25, 25, 128)? ? ? ?0? ? ? ? ?_________________________________________________________________conv4_1 (Conv2D)? ? ? ? ? ? ?(None, 25, 25, 256)? ? ? ?295168? ??我一直在尋找,但我只找到了tf.math.reduce_mean并且我認(rèn)為它沒(méi)有做我想做的事。我該怎么做?更新:我想我可以使用tf.math.add_n對(duì)所有張量求和,然后將結(jié)果張量除以 N。但我不確定。
1 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
看起來(lái)您只是在尋找 0 軸的平均值?
import tensorflow as tf
x = tf.random.uniform((100, 12, 12, 512), 0, 1, dtype=tf.int32)
tf.reduce_mean(x, axis=0, keepdims=True)
結(jié)果形狀:
TensorShape([1, 12, 12, 512])
如果您正在處理 shape 的張量列表(1, 12, 12, 512),則效果是相同的:
x = [tf.random.uniform((1, 12, 12, 512), 0, 1, dtype=tf.int32) for i in range(10)]
tf.reduce_mean(x, axis=0)
TensorShape([1, 12, 12, 512])
添加回答
舉報(bào)
0/150
提交
取消