如何访问和可视化预训练的 TensorFlow 2 模型中的权重?

3

我使用tf.keras框架重新训练了一个预先训练好的ResNet50 V2模型,并在顶部添加了两个密集层。现在我想可视化基本ResNet模型中层内的权重。但是,重新加载已保存的模型:

model = tf.keras.models.load_model(path/to/model.hdf5)
model.summary()

结果为

enter image description here

如您所见,ResNet模型的层并没有单独列出,这意味着调用

model.layers[0].get_weights()[1]

只会导致结果为
[7 7 3 64]

那么,如何访问基本ResNet50 V2模型中每个层中的权重?

1个回答

4
这里的正确答案是写:
model.layers[0].summary()

代替
model.summary()

这将让我看到预训练模型中所有的层。因此,写入

model.layers[0].layers[0].get_weights(name='input_1')

这会为我提供ResNet基础模型输入的权重。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接