【问题标题】:Distinguish types of on-disk models区分磁盘模型的类型
【发布时间】:2019-10-13 21:39:13
【问题描述】:

Tensorflow 有几个types of model formats

  1. TensorFlow SavedModel 2. Frozen Model 3. Session Bundle 4. Tensorflow Hub 模块

如何在磁盘上区分它们? (稍后与 tensorflowjs-converter 一起使用)

每个模型是如何创建的?

【问题讨论】:

    标签: tensorflow tensorflow.js tensorflowjs-converter


    【解决方案1】:

    是的,有很多不同的模型类型,它们都有充分的理由。我不会声称我对每一个都非常清楚,但这是我所知道的(我想我知道)。

    • .pb 文件:PB 代表 protobuff 或 Protocol Buffer。这是模型结构,一般没有经过训练的权重,以二进制格式存储。
    • .pbtxt 文件:pb 文件的非二进制文件供人类阅读。
    • 未冻结的 Protobuff 文件也需要一个检查点 .ckpt 文件。检查点文件是pb 需要的缺失权重集。
    • .h5 文件:模型 + Keras 保存的权重
    • .tflite 文件将是一个 TensorflowLite 模型
    • 冻结模型:冻结模型将pb 与权重文件结合在一起,因此您不必管理其中的两个。通常,这意味着在文件名中添加单词frozen。我确信在加载文件时可以推断出这一点,但在磁盘上它们在荣誉系统上更多一点,没有ckpt 文件。这去除了无关的图形信息;它基本上就像模型的“生产就绪”版本。
    • 会话包:是一个目录。它们已不再使用,而且很少见。
    • Tensorflow Hub 模块:这些是预先存在的流行模型,很可能已经导出到 TFJS,并且不需要您手动转换它们。我认为支持它们是为了 Google 的利益,而不是我们的利益。但是很高兴知道您是否使用集线器,您可以随时转换它。

    一个多导出的文件分组看起来像这张图片。从这里,你可以看到很多你可以变成 TFJS 的东西。

    【讨论】:

    • 谢谢!转换后还有model.json和相关的group?-shard?of?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多