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/