我有一个受过训练的keras模型,该模型保存为model.save()。当我加载并打印摘要时,它显示如下。
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) (None, 2) 0
_________________________________________________________________
model_1 (Model) (None, 8) 83208
=================================================================
Total params: 83,208
Trainable params: 83,208
Non-trainable params: 0
_________________________________________________________________
现在,我想将上述网络中的model_1(6层网络)的权重加载到具有相同架构的模型中。当我尝试从model.load_weights()加载时,出现一条错误消息,提示我无法从2层网络加载到6层网络。这是因为model_1只是上述模型中的一层。如何从该层分别访问和加载权重?
答案 0 :(得分:1)
您可以使用model.layers
访问模型的各个层,然后使用model.layers[1]
访问model_1
。然后,您可以通过model.layers[1].load_weights(...)
加载权重。