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