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)
我正在尝试删除模型末尾的 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)