在keras中的两个密集层之间共享权重
Share weights between two dense layers in keras
我有一个代码如下。我想做的是在两个密集层中共享相同的权重。
op1 和 op2 层的等式就是这样
op1 = w1y1 + w2y2 + w3y3 + w4y4 + w5y5 + b1
op2 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b1
这里 w1 到 w5 权重在 op1 和 op2 层输入之间共享,分别是 (y1 到 y5) 和 (z1 到 z5)。
ip_shape1 = Input(shape=(5,))
ip_shape2 = Input(shape=(5,))
op1 = Dense(1, activation = "sigmoid", kernel_initializer = "ones")(ip_shape1)
op2 = Dense(1, activation = "sigmoid", kernel_initializer = "ones")(ip_shape2)
merge_layer = concatenate([op1, op2])
predictions = Dense(1, activation='sigmoid')(merge_layer)
model = Model(inputs=[ip_shape1, ip_shape2], outputs=predictions)
提前致谢。
这对两侧使用相同的图层。 (权重和偏差是共享的)
ip_shape1 = Input(shape=(5,))
ip_shape2 = Input(shape=(5,))
dense = Dense(1, activation = "sigmoid", kernel_initializer = "ones")
op1 = dense(ip_shape1)
op2 = dense(ip_shape2)
merge_layer = Concatenate()([op1, op2])
predictions = Dense(1, activation='sigmoid')(merge_layer)
model = Model(inputs=[ip_shape1, ip_shape2], outputs=predictions)
我有一个代码如下。我想做的是在两个密集层中共享相同的权重。
op1 和 op2 层的等式就是这样
op1 = w1y1 + w2y2 + w3y3 + w4y4 + w5y5 + b1
op2 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b1
这里 w1 到 w5 权重在 op1 和 op2 层输入之间共享,分别是 (y1 到 y5) 和 (z1 到 z5)。
ip_shape1 = Input(shape=(5,))
ip_shape2 = Input(shape=(5,))
op1 = Dense(1, activation = "sigmoid", kernel_initializer = "ones")(ip_shape1)
op2 = Dense(1, activation = "sigmoid", kernel_initializer = "ones")(ip_shape2)
merge_layer = concatenate([op1, op2])
predictions = Dense(1, activation='sigmoid')(merge_layer)
model = Model(inputs=[ip_shape1, ip_shape2], outputs=predictions)
提前致谢。
这对两侧使用相同的图层。 (权重和偏差是共享的)
ip_shape1 = Input(shape=(5,))
ip_shape2 = Input(shape=(5,))
dense = Dense(1, activation = "sigmoid", kernel_initializer = "ones")
op1 = dense(ip_shape1)
op2 = dense(ip_shape2)
merge_layer = Concatenate()([op1, op2])
predictions = Dense(1, activation='sigmoid')(merge_layer)
model = Model(inputs=[ip_shape1, ip_shape2], outputs=predictions)