【问题标题】:Trying to save a model to a pb file and I don't have a .meta file试图将模型保存到 pb 文件,但我没有 .meta 文件
【发布时间】:2021-08-24 15:30:51
【问题描述】:

我通过 TensorFlow 对象检测模块训练了一个自定义对象检测器模型,并使用 mobilenetssd 作为我的预训练模型。训练完成后,我有三个文件:

 checkpoint
ckpt-11.data-00000-of-00001
ckpt-11.index

另外我也有这个文件:

pipeline.config

我正在尝试将此模型保存为 pb 文件,并且我想使用此tutorial 中提供的程序。我可以在没有 .meta 文件的情况下运行这个程序吗?我将如何生成 .meta 文件?此外,我还能从哪里获得 output_node_names?

编辑:我也设法使用 chpt-11.index 推断出这个模型。

【问题讨论】:

    标签: python tensorflow object-detection


    【解决方案1】:

    您只能使用上述文件加载模型。

    模型将根据index file ckpt-11.indexshard file ckpt-11.data-00000-of-00001 加载权重

    基本上,shard 文件将包含模型权重,index 文件指示哪些权重存储在哪个分片中。 通常,如果您在单台机器上进行训练,则只有一个分片。 更多关于使用Tensorflow保存和加载模型的细节,可以参考this文档。

    【讨论】:

    • 感谢您的回答。我能够使用这些检查点文件通过 Tensorflow 推断我的模型。我想使用 OpenCV dnn 模块来推断我的模型,它需要 freeze_model.pb 或 frozen_model.pbtext。我确实使用提供的脚本将我的检查点转换为 save_model.pb,但我坚持将其转换为冻结模型或找到一个可以推断它的程序,而不是 Tensorflow。
    • @TylerOleson,嘿!你能找到解决办法吗?我遇到了同样的问题。我有一个 .index 和 .data 文件,需要将其转换为 freezegraph 格式。但是还没有找到任何东西,因为所有其他教程都需要“.meta”文件。
    • 嗨@MisaalD'souza,我从来没有找到解决方案。我确实设法创建了 save_model.pb,但没有创建 freeze_graph.pb。我最终使用了不同的物体检测器。
    • 啊!我现在也必须使用不同的方法。谢谢回复:)
    猜你喜欢
    • 1970-01-01
    • 2019-05-06
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    相关资源
    最近更新 更多