[英]How to concatenate part of three layers in Keras?
我可以使用keras.layers.concatenate
来连接两层,然后将它们发送到下一层,但是,如果我想参加两层的一部分,然后将它们连接起来,然后将它们发送到下一层,该怎么办?
例如,我要包含第一层转换层,第二层转换层和最后一个池化层的一部分,然后将它们连接在一起以形成一个层。 但是Keras是一个高级图书馆,我们如何参与其中?
通过查看论文《基于网络的端到端可训练的,面向任务的对话系统》中的图2,您可以更好地理解我。
好了,您可以根据需要对其进行切片,就像对numpy数组或Python列表进行切片的方法,并在Lambda
层中使用K.concatenate
。 例如:
from keras import backend as K
# ...
out = Lambda(lambda x: K.concatenate([x[0][:,:10],
x[1][:,:10],
x[2][:,:10]], axis=the_concat_axis))([conv1, conv2, pool])
需要注意的是,第一轴是批处理轴,所以你可能要保持它的所有(即使用:
如上)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.