2 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
這可以通過層標(biāo)準(zhǔn)化來實(shí)現(xiàn):
>>> data = tf.constant(np.arange(10).reshape(5, 2) * 10, dtype=tf.float32)
layer = tf.keras.layers.LayerNormalization(axis=[0, 1])
output = layer(data)
print(output)
tf.Tensor(
[[-1.5666981 -1.2185429 ]
[-0.8703878 -0.5222327 ]
[-0.17407757 0.17407756]
[ 0.52223265 0.8703878 ]
[ 1.2185429 1.5666981 ]], shape=(5, 2), dtype=float32)
與批歸一化的區(qū)別在于,層歸一化將操作分別應(yīng)用于批次中的每個(gè)單元。
如果您想對(duì)批處理執(zhí)行此操作,請(qǐng)選擇批處理規(guī)范。同樣,這通過將軸設(shè)置為列表來工作。

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
不幸的是,我認(rèn)為使用batch_normalization
tensorflow API的層/功能是不可行的。
正如函數(shù)名稱所暗示的,它旨在執(zhí)行“批量”歸一化,因此預(yù)計(jì)在給定當(dāng)前批次(通常為 0 維)的特征軸上進(jìn)行歸一化。
添加回答
舉報(bào)