天天看点

Keras中的Merge层直接import Merge层出现import报错利用Merge层实现multiply操作

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/

继续阅读