Python 加载keras重量,直到达到特定层
我已经训练了一个3dCNN模型。我想将存储的重量加载到Keras中,直到某一层。我已将特定层命名为name=“my\u dense\u layer”。如何加载权重直到该层 我的模型看起来像:Python 加载keras重量,直到达到特定层,python,tensorflow,keras,Python,Tensorflow,Keras,我已经训练了一个3dCNN模型。我想将存储的重量加载到Keras中,直到某一层。我已将特定层命名为name=“my\u dense\u layer”。如何加载权重直到该层 我的模型看起来像: 我想通过跳过最后一个尺寸为6的辍学和密集层来加载我的重量。然后,我想投影我的输入大小32x10x28x28,并使用输出大小为512维向量的特定密集层的权重。因此,要将存储的权重作为输出32x512因为存储的权重被安排为b1、w1、b2、w2…,我们可以逐层加载权重,直到my_dense_layer。可能的
我想通过跳过最后一个尺寸为6的辍学和密集层来加载我的重量。然后,我想投影我的输入大小
32x10x28x28
,并使用输出大小为512维向量的特定密集层的权重。因此,要将存储的权重作为输出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
我的模特在比赛结束前都经过了充分的训练。我只想加载一部分,直到达到特定的密度层。据我所知,你的解决方案是在预先训练的模型中添加额外的层,对吗?但在这种情况下,权重究竟代表什么?权重是预先训练的存储权重。Keras模型将其权重存储为numpy数组的列表,其中包含每个层的
b
和w
,并带有可训练的参数。在我看来,.pop(0)两次只需在不使用if语句的情况下进行工作。