繁体   English   中英

如何在Keras中串联三层的一部分?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM