我已经使用Tensor Flow Object Detection API训练了我的自定义数据集。我运行“预测”脚本,它在GPU上运行良好。现在,我想将模型转换为精简版,然后在Google Coral Edge TPU板上运行它以检测我的自定义对象。我浏览了Google Coral Board网站提供的文档,但发现它很混乱。如何在Google Coral Edge TPU板上转换和运行它?谢谢
如果不阅读文档,将很难继续。我不确定您的“预测脚本”是什么意思,但是我假设该脚本加载了.pb tensorflow模型,加载了一些图像数据,并对其进行推断以产生预测结果。这意味着您在以下管道的“冻结图”阶段具有一个.pb tensorflow模型:
图片取自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进行推断。