Keras 如何切片层的输出,然后将其添加到模型中

Keras how to slice output of a layer and then add it to the model

我有一个层输出 [N,100,100,2]

我只想使用 [N,100,100,0],我已经使用 slice(layer,[0,0,0,0],[-1,-1,-1,1] 得到这个,但是我无法将这个切片输出添加到模型中,因为它不是一个层。

怎么做到的。

谁能提供一个代码片段。

c3 = Convolution2D(2, (1, 1),strides=(1,1),padding='same',use_bias=True,activation='softmax')
output = (c3)(output)
slicedoutput = slice(output,[0,0,0,0],[-1,-1,-1,1])
classifier = Model(inputs=[image_a],outputs=[slicedoutput,outputboxes])

Keras 中没有内置切片层。但是您可以根据自己的目的使用 Lambda 层。

在您的情况下,您可以使用 Lambda 层

而不是使用来自 keras.backend 的切片
slicedoutput = Lambda(lambda x: x[:,:,:,0])(output)