当前位置: 首页 > 知识库问答 >
问题:

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

储法
2023-03-14

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

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

导致

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

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

只会导致

[7 7 3 64]

因此,如何访问基本ResNet50 V2模型中每个层内部的权重?

共有1个答案

束飞捷
2023-03-14

正确的答案是写

model.layers[0].summary()

而不是

model.summary()

这将让我看到在预先训练的模型中所有的层都是什么。因此,写作

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

将给我ResNet基础模型输入的权重。

 类似资料:
  • 我的模型像一样简单,但我无法以简单的方式获得正确的结果。我不知道发生了什么。 当验证损失很大时,我的模型总是停止: 纪元901/2000 5/5[============>===>-0s 3ms/步-损失:14767.1357-val_loss:166.8979 在训练参数后,我不断变得不合适: [ 请帮我找出我的代码有什么问题。 我使用tensorflow-v2.3.0

  • 我有一个模型。预训练的pkl文件以及与ml模型相关的所有其他文件。我想把它部署到aws sagemaker上。但是在没有培训的情况下,如何将其部署到aws sagmekaer,就像aws sagemaker中的fit()方法一样,运行train命令并推送模型。焦油gz到s3位置,当使用deploy方法时,它使用相同的s3位置来部署模型,我们不会在s3中手动创建与aws模型创建的位置相同的位置,并使

  • 我有一个预先训练好的模型,我正在从S3 Bucket加载到AWS SageMaker笔记本实例中,在提供测试图像用于从S3 Bucket进行预测后,它会根据需要为我提供准确的结果。我想部署它,这样我就可以有一个endpoint,我可以进一步与AWS Lambda函数和AWS API网关集成,这样我就可以使用实时应用程序的模型。知道如何从AWS Sagemaker笔记本实例部署模型并获取其endpo

  • 错误为: 谁能帮帮我吗?

  • 我使用的OpenNLP模型如下: 我想把我的数据附加到训练数据集中,这些模型就是在这个数据集中训练的。那么请告诉我从哪里可以得到原始数据集?

  • 我使用以下代码将预先训练的ResNet50 keras模型导出到tensorflow中,以便为tensorflow提供服务: 最后,我使用以下函数对tensorflow服务进行预测: 然后,我从一个ipython shell中使用上面的两个函数从ImageNet的val集中选择随机的imagenes,我已经在本地存储了这些ImageNet。问题是tensorflow服务总是为我发送的所有图像返回相