如何为Edge TPU板转换在自定义数据集上训练的模型?

问题描述 投票:0回答:1

我已经使用Tensor Flow Object Detection API训练了我的自定义数据集。我运行“预测”脚本,它在GPU上运行良好。现在,我想将模型转换为精简版,然后在Google Coral Edge TPU板上运行它以检测我的自定义对象。我浏览了Google Coral Board网站提供的文档,但发现它很混乱。如何在Google Coral Edge TPU板上转换和运行它?谢谢

tensorflow object-detection tensorflow-datasets google-coral tf-lite
1个回答
0
投票

如果不阅读文档,将很难继续。我不确定您的“预测脚本”是什么意思,但是我假设该脚本加载了.pb tensorflow模型,加载了一些图像数据,并对其进行推断以产生预测结果。这意味着您在以下管道的“冻结图”阶段具有一个.pb tensorflow模型:

The Work Flow图片取自coral.ai

下一步将是使用后期训练量化技术将您的.pb模型转换为“完全量化的.tflite模型”。提供该操作的文档here。我还创建了一个github要点,其中包含Post Training Quantization here的示例。生成.tflite模型后,需要通过edgetpu_compiler编译模型。尽管您需要了解关于edgetpu编译器的所有信息,但是对于您而言,编译模型非常简单:

$ edgetpu_compiler your_model_name.tflite

这将创建与EdgeTPU兼容的your_model_name_edgetpu.tflite模型。现在,如果在此阶段,而不是创建与edgetpu兼容的模型,而是出现某种类型的错误,则意味着您的模型不满足models-requirements部分中发布的要求。

一旦生成了编译模型,您就可以将其部署在edgetpu设备上。当前有2个主要的API可用于对模型进行推断:

最终,有许多演示示例可以对模型here进行推断。

© www.soinside.com 2019 - 2024. All rights reserved.