Keras - 合并层

用于合并输入列表。它支持add()、subtract()、multiply()、average()、maximum()、minimum()、concatenate() 和 dot() 功能。

add 添加层

用于添加两个层。语法定义如下 −

keras.layers.add(inputs)

下面显示了简单示例 −

>>> a = input1 = keras.layers.Input(shape = (16,)) 
>>> x1 = keras.layers.Dense(8, activation = 'relu')(a) 
>>> a = keras.layers.Input(shape = (16,)) 
>>> x1 = keras.layers.Dense(8, activation='relu')(a) 
>>> b = keras.layers.Input(shape = (32,)) 
>>> x2 = keras.layers.Dense(8, activation = 'relu')(b) 
>>> summ = = keras.layers.add([x1, x2]) 
>>> summ = keras.layers.add([x1, x2]) 
>>> model = keras.models.Model(inputs = [a,b],outputs = summ)

subtract 减法层

它用于减去两个层。语法定义如下 −

keras.layers.subtract(inputs)

在上面的例子中,我们创建了两个输入序列。如果要应用 subtract(),请使用以下代码 −

subtract_result = keras.layers.subtract([x1, x2])
result = keras.layers.Dense(4)(subtract_result)
model = keras.models.Model(inputs = [a,b], output = result)

multiply 乘法层

它用于乘以两个层。语法定义如下 −

keras.layers.multiply(inputs)

如果您想应用两个输入相乘,那么您可以使用以下代码 −

mul_result = keras.layers.multiply([x1, x2]) 
result = keras.layers.Dense(4)(mul_result) 
model = keras.models.Model(inputs = [a,b], outputs = result)

maximum()

它用于从两个输入中找出最大值。语法定义如下 −

keras.layers.maximum(inputs)

minimum()

它用于从两个输入中找出最小值。语法定义如下 −

keras.layers.minimum(inputs)

concatenate

它用于连接两个输入。它定义在 −

keras.layers.concatenate(inputs, axis = -1)

Concatenate 层的功能接口。

此处,axis 指的是 Concatenation 轴。

dot

它返回两个输入的点积。它定义在 −

keras.layers.dot(inputs, axis, normalize = False)

此处,

  • axes 指的是执行点积的轴。

  • normalize 确定是否需要点积。