如何转换tf2模型,使其在tflite解释器上运行



背景:我正在尝试从官方tf zoo转换用于SSD MobileNet V2 FPNLite 320x320的tf2型号(例如(。该模型最终应该在树莓pi上运行,所以我希望它在tflite解释器上运行(没有完整的tf(。文档暗示支持ssd模型转换。

发生了什么:这个colab笔记本中详细介绍了这个过程。它失败了,错误是:

ConverterError: <unknown>:0: error: loc(callsite(callsite("Postprocessor/BatchMultiClassNonMaxSuppression/MultiClassNonMaxSuppression/SortByField_1/Size@__inference___call___23519" at "StatefulPartitionedCall@__inference_signature_wrapper_25508") at "StatefulPartitionedCall")): 'tf.Size' op is neither a custom op nor a flex op
<unknown>:0: note: loc("StatefulPartitionedCall"): called from
<unknown>:0: error: failed while converting: 'main': Ops that can be supported by the flex runtime (enabled via setting the -emit-select-tf-ops flag):
tf.Size {device = ""}

如果我添加标志tf.lite.OpsSet.SELECT_tf_OPS,它可以工作,但不会在rpi上运行,因为它没有操作。

这能做到吗?有人成功了吗?

由于TFLite本机不支持TF.Size,因此您可以使用TFSelect模式,该模式会因缺少操作而回退到TF,在转换过程中使用";SELECT_TF_OPS";你试过的。当您运行推理时,您将需要使用具有链接的Select操作的解释器。请参阅运行推理指南。

相关内容

  • 没有找到相关文章

最新更新