[英]How to multiply a single layer of a neural network by a real number?
這個問題很簡單。 我想將我的神經網絡中的單層乘以一個數字。
這個數字是n = max(abs(input))
,因此實際輸入將是input/n
,而 output 將是output*n
。 我想知道是否有辦法在我的神經網絡 model 中插入這些計算。
在旁注中,我想這樣做是因為我在某處讀到一個常見的解決方案是規范化輸入然后非規范化輸出,這就是我想要做的。 然而,在我的多輸入神經網絡中,一個輸入是二進制數據,另一個是常規實數,所以我只想規范化這個真實輸入,並對特定的下游層進行反規范化。
如果我理解正確,您想將層的 output 乘以標量n
。 您可以使用自定義 model:
class MyModel(tf.keras.Model):
def __init__(self):
super(MyModel, self).__init__()
self.dense1 = Dense(10)
self.dense2 = Dense(20)
def call(self, inputs):
x = self.dense1(inputs)
x = self.dense2(scalar_value*x)
不知道你的model是怎么搭建的,但是你可以在init方法中添加你需要的層,然后在call方法中調用,產生最終的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.