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)
我有一个层输出 [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)