我想用以下形式训练带有共享层的模型:
x --> F(x)
==> G(F(x),F(y))
y --> F(y)
x
和y
是两个单独的输入层,而F
是共享层。 G
是连接F(x)
和F(y)
之后的最后一层。
是否可以在Keras中对此建模?怎么样?
答案 0 :(得分:2)
您可以为此使用Keras functional API:
$ sudo dmesg -h | grep console
-D, --console-off disable printing messages to console
-E, --console-on enable printing messages to console
-n, --console-level <level> set level of messages printed to console
请注意,from keras.layers import Input, concatenate
x = Input(shape=...)
y = Input(shape=...)
shared_layer = MySharedLayer(...)
out_x = shared_layer(x)
out_y = shared_layer(y)
concat = concatenate([out_x, out_y])
# pass concat to other layers ...
和x
可以是任何层的输出张量,而不一定是输入层。