没有合适的资源?快使用搜索试试~ 我知道了~
首页浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
资源详情
资源评论
资源推荐

浅谈浅谈keras中的中的Merge层层(实现层的相加、相减、相乘实例实现层的相加、相减、相乘实例)
主要介绍了浅谈keras中的Merge层(实现层的相加、相减、相乘实例),具有很好的参考价值,希望对大家有所
帮助。一起跟随小编过来看看吧
【题目】keras中的Merge层(实现层的相加、相减、相乘)
详情请参考:
Merge层
一、层相加一、层相加
keras.layers.Add()
添加输入列表的图层。
该层接收一个相同shape列表张量,并返回它们的和,shape不变。
Example
import keras
input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation='relu')(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation='relu')(input2)
added = keras.layers.Add()([x1, x2]) # equivalent to added = keras.layers.add([x1, x2])
out = keras.layers.Dense(4)(added)
model = keras.models.Model(inputs=[input1, input2], outputs=out)
二、层相减二、层相减
SubStract
keras.layers.Subtract()
两个输入的层相减。
它将大小至少为2,相同Shape的列表张量作为输入,并返回一个张量(输入[0] - 输入[1]),也是相同的Shape。
Example
import keras
input1 = keras.layers.Input(shape=(16,))
x1 = keras.layers.Dense(8, activation='relu')(input1)
input2 = keras.layers.Input(shape=(32,))
x2 = keras.layers.Dense(8, activation='relu')(input2)
# Equivalent to subtracted = keras.layers.subtract([x1, x2])
subtracted = keras.layers.Subtract()([x1, x2])
out = keras.layers.Dense(4)(subtracted)
model = keras.models.Model(inputs=[input1, input2], outputs=out)
三、层相乘三、层相乘
Multiply
keras.layers.Multiply()
该层接收一个列表的同shape张量,并返回它们的逐元素积的张量,shape不变。
注意:注意:keras.layers.add(inputs)、keras.layers.subtract(inputs)、keras.layers.multiply(inputs)分别是对应的层包装,一般只用
层包装。
补充知识:补充知识:Keras天坑:想当然的对层的直接运算带来的问题天坑:想当然的对层的直接运算带来的问题
天坑天坑
keras如何操作某一层的值(如让某一层的值取反加1等)?keras如何将某一层的神经元拆分以便进一步操作(如取输入的向
量的第一个元素乘别的层)?keras如何重用某一层的值(如输入层和输出层乘积作为最终输出)?
这些问题都指向同一个答案,即使用Lambda层。

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0