亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎樣才能求n個張量的平均值?將它們相加并將結果除以 N。得到具有相同形狀的張量

我怎樣才能求n個張量的平均值?將它們相加并將結果除以 N。得到具有相同形狀的張量

波斯汪 2023-07-11 16:53:52
我正在使用Python 3.7.7。和張量流 2.1.0。我是新手。我有 N 個具有形狀的張量(1, 12, 12, 512),我想對每個數組求和以獲得具有相同形狀的張量(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并且我認為它沒有做我想做的事。我該怎么做?更新:我想我可以使用tf.math.add_n對所有張量求和,然后將結果張量除以 N。但我不確定。
查看完整描述

1 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

看起來您只是在尋找 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)

結果形狀:


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])


查看完整回答
反對 回復 2023-07-11
  • 1 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號