【问题标题】:Mask_RCNN: How to save trained model and convert it to tfliteMask_RCNN:如何保存训练好的模型并将其转换为 tflite
【发布时间】:2020-02-05 11:14:50
【问题描述】:

我按照教程在 https://machinelearningmastery.com/how-to-train-an-object-detection-model-with-keras/

成功训练后,我得到了 5 个 .h5 文件:

mask_rcnn_kangaroo_cfg_0001.h5
mask_rcnn_kangaroo_cfg_0002.h5
mask_rcnn_kangaroo_cfg_0003.h5
mask_rcnn_kangaroo_cfg_0004.h5
mask_rcnn_kangaroo_cfg_0005.h5

我是新手,所以我的理解可能是错误的:

如何将这些 .h5 文件转换为 .pb 文件或更好地转换为 .tflite 文件,以便我可以在Android 对象检测应用?

【问题讨论】:

  • 如果.h5到TFLite的转换过程中仍然存在任何错误,我会坚持使用TF Object Detection API。

标签: tensorflow keras file-conversion tensorflow-lite


【解决方案1】:

这些.h5不需要转成.pb,直接将keras.h5文件转成tflite即可。这是how to上的官方文档。

确保模型具有 TFLite 支持的层,如 here 所述。

一旦您拥有 .tflite 模型,您就可以在 Android 上运行解释器。

【讨论】:

  • 我如何知道 TFLite 是否支持 Mask_RCNN 训练模型中的所有层?
  • 需要遍历 Mask_RCNN 中定义的层,检查是否支持 TFLite 操作。
  • 将 keras 模型转换为 tflite ::OSError: SavedModel 文件不存在于:model.hdh5/{saved_model.pbtxt|saved_model.pb} @RishabhSahrawat
  • @HarshGupta 这意味着您指定的位置没有文件,或者您提供了错误的名称。只是快速检查一下,它是 hdf5 类型而不是 hdh5 所以也许这就是问题所在。
  • @RishabhSahrawat 是的,我使用了错误的扩展名,但我尝试使用 .h5 扩展名 OSError: SavedModel 文件不存在于:model.h5/{saved_model.pbtxt|saved_model.pb}
猜你喜欢
  • 1970-01-01
  • 2018-12-15
  • 2020-07-02
  • 1970-01-01
  • 1970-01-01
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多