Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何连接Keras中三层的一部分?_Python_Tensorflow_Keras_Deep Learning_Nlp - Fatal编程技术网

Python 如何连接Keras中三层的一部分?

Python 如何连接Keras中三层的一部分?,python,tensorflow,keras,deep-learning,nlp,Python,Tensorflow,Keras,Deep Learning,Nlp,我可以使用keras.layers.concatenate连接两个层,然后将它们发送到下一层,但是如果我想参与两个层,然后连接它们,然后将它们发送到下一层,我应该怎么做 例如,我想将第一个conv层的一部分、第二个conv层的一部分和最后一个池层连接在一起,形成一个层。但是Keras是一个高级图书馆,我们如何参与其中 通过查看本文中的图2,您可以更好地理解我。您可以根据需要对它们进行切片,就像对numpy数组或Python列表进行切片一样,并使用K.concatenate,所有这些都在Lambd

我可以使用
keras.layers.concatenate
连接两个层,然后将它们发送到下一层,但是如果我想参与两个层,然后连接它们,然后将它们发送到下一层,我应该怎么做

例如,我想将第一个conv层的一部分、第二个conv层的一部分和最后一个池层连接在一起,形成一个层。但是Keras是一个高级图书馆,我们如何参与其中


通过查看本文中的图2,您可以更好地理解我。

您可以根据需要对它们进行切片,就像对numpy数组或Python列表进行切片一样,并使用
K.concatenate
,所有这些都在
Lambda
层中。例如:

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])

请注意,第一个轴是批处理轴,因此您可能希望保留所有轴(即如上所述使用

好的,您可以根据需要对它们进行切片,就像对numpy数组或Python列表进行切片一样,并使用
K.concatenate
,都在
Lambda
层中。例如:

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])
请注意,第一个轴是批处理轴,因此您可能希望保留所有轴(即如上所述使用