加载keras权重,直到特定层

时间:2019-04-13 21:47:00

标签: python tensorflow keras

我已经训练了3dCNN模型。我想将存储的权重加载到Keras中直到特定的层。我已将特定图层命名为name =“ my_dense_layer”。如何加载权重直到该层?

我的模型如下:

enter image description here

我想跳过最后一个具有大小6的退出层和Dense层来加载我的权重。然后,我想投影大小为32x10x28x28的输入,并使用特定Dense层的权重输出大小为512维向量。因此具有输出32x512

1 个答案:

答案 0 :(得分:1)

由于存储的权重以b1, w1, b2, w2 ...的形式排列,因此我们可以逐层加载权重,直到到my_dense_layer。可能的解决方法如下:

for layer in model.layers:
if layer.trainable_weights:
    b=weights.pop(0)
    w=weights.pop(0)
    layer.set_weights((b,w))
    if layer.name=='my_dense_layer':
        break