Keraslayers.pop() не удаляет слой

Я пытаюсь удалить лямбда-слой в конце моей модели, но 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

Код выше показывает последние слои модели. Чтобы удалить слой лямбда, я делаю следующее:

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 

Как вы на самом деле удаляете слои и добавляете новые?


person nachofest    schedule 13.03.2021    source источник


Ответы (1)


Исправил это, выполнив:

x = (model_old.layers[-2].output)
person nachofest    schedule 13.03.2021