Keras layers.pop() 没有删除图层

Keras layers.pop() is not removing layer

我正在尝试删除模型末尾的 lambda 层,但 layers.pop() 对我不起作用:

conv1d_8 (Conv1D)            (None, None, 32)          2080      
_________________________________________________________________
dense_1 (Dense)              (None, None, 128)         4224      
_________________________________________________________________
dropout_1 (Dropout)          (None, None, 128)         0         
_________________________________________________________________
dense_2 (Dense)              (None, None, 1)           129       
_________________________________________________________________
lambda_1 (Lambda)            (None, None, 1)           0         
=================================================================
Total params: 19,009
Trainable params: 19,009
Non-trainable params: 0

上面的代码显示了模型的最后几层。要删除 lambda 层,我执行以下操作:

model_old.layers.pop()
x = model_old.output
pred = Lambda(slice, arguments={'seq_length':7})(x)
new_model = Model(inputs=model_old.input, outputs=pred)

但由于某种原因,当我打印摘要时,该层未被删除:

_________________________________________________________________
lambda_1 (Lambda)            (None, None, 1)           0         
_________________________________________________________________
lambda_5 (Lambda)            (None, None, 1)           0         
=================================================================
Total params: 19,009
Trainable params: 19,009
Non-trainable params: 0 

您实际上是如何删除图层并添加新图层的?

通过以下操作修复了它:

x = (model_old.layers[-2].output)