【发布时间】:2021-03-13 15:14:12
【问题描述】:
我正在尝试删除模型末尾的 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
您如何实际删除图层并添加新图层?
【问题讨论】:
标签: keras neural-network conv-neural-network pre-trained-model