Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 加载keras重量,直到达到特定层_Python_Tensorflow_Keras - Fatal编程技术网

Python 加载keras重量,直到达到特定层

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。可能的

我已经训练了一个3dCNN模型。我想将存储的重量加载到Keras中,直到某一层。我已将特定层命名为name=“my\u dense\u 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语句的情况下进行工作。