我已经训练了3dCNN模型。我想将存储的权重加载到Keras中直到特定的层。我已将特定图层命名为name =“ my_dense_layer”。如何加载权重直到该层?
我的模型如下:
我想跳过最后一个具有大小6的退出层和Dense层来加载我的权重。然后,我想投影大小为32x10x28x28
的输入,并使用特定Dense层的权重输出大小为512维向量。因此具有输出32x512
。
答案 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