edgetpu_compiler:如何组合两个tflite模型

时间:2019-10-21 21:39:21

标签: google-coral

我正在尝试使用Google Coral edgetpu_compiler在Google's directions之后将两个现有的tflite模型合并为一个模型。我正在使用Google的pre-compiled models中的两个。该错误表明模型已经为Coral设备编译。这些模型实际上已经针对Edge TPU进行了编译,但是我试图将这两种模型结合起来。我是在做错什么,还是合并了Edge TPU模型不支持?

这是我正在运行的命令和输出:

$ edgetpu_compiler \
    mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite \
    mobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite
Edge TPU Compiler version 2.0.267685300
Invalid model: mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite
Model already compiled for Edge TPU

我正在此珊瑚版OS版本Mendel GNU/Linux 3 (Chef)上运行它。

任何指导表示赞赏。

谢谢, 约翰

1 个答案:

答案 0 :(得分:1)

您要组合的模型已经为edgetpu编译,无法再次编译。

要再次编译两个模型,可以从https://coral.withgoogle.com/models/下载“ MobileNet SSD v2(COCO)”和“ MobileNet SSD v2(Faces)”的“所有模型文件”。解压缩这些压缩文件后,您将找到两个模型的tflite_graph.pb文件。您必须将这些.pb文件转换为 .tflite(CPU版本)文件。 获得.tflite的 CPU版本文件后,您应该能够将两个模型一起编译。

请在以下网址查看模型要求的详细信息:https://coral.withgoogle.com/docs/edgetpu/models-intro/#compatibility-overview

请在以下网址阅读有关如何共同编译模型的信息:https://coral.withgoogle.com/docs/edgetpu/compiler/#co-compiling-multiple-models。另请注意,共编译n个模型将产生n个模型,而不仅仅是一个。好处是编译器支持一起缓存在TPU RAM中的参数数据