Keras 中的Merge層,實作multiply,add等操作
- 直接import Merge層出現import報錯
- 利用Merge層實作multiply操作
直接import Merge層出現import報錯
from keras.layers import Merge
...
merge1 = Merge([inputs,inputs2], mode='sum')
...
從keras 2開始,該子產品keras.layers.merge沒有通用的public Merge層。而應該導入其子類keras.layers.Add或keras.layers.Concatenate等直接(或他們與小寫名稱相同的function接口:keras.layers.add,keras.layers.concatenate等)。
利用Merge層實作multiply操作
from keras.models import Model
from keras.layers import Input,Dense,Multiply,multiply
inputs1 = Input(shape = (200,))
inputs2 = Input(shape = (200,))
merge = Multiply()([inputs1, inputs2]) #或者merge = multiply([inputs1, inputs2])
output = Dense(30)(merge)
model = Model(inputs = [inputs1,inputs2],outputs = output)
model.summary()
multiply層接收一個清單的同shape張量,并傳回它們的逐元素積的張量,shape不變。
keras官方中文文檔中的merge層連結:https://keras.io/zh/layers/merge/