如何在Edge TPU模型编译器上编译嵌入提取器?

时间:2019-05-02 15:10:33

标签: tensorflow tpu google-coral

在珊瑚上编译嵌入式提取器时出错

我正在尝试在我的珊瑚edgeTPU设备上训练图像分类器。因此,我按照Coral's "Retrain an image classification model on-device" tutorial中解释的步骤进行操作:

嵌入式提取器创建

事实上,我根据给定的示例创建了一个嵌入提取程序tflite文件:

tflite_convert \
--output_file=mobilenet_v1_embedding_extractor.tflite \
--graph_def_file=mobilenet_v1_1.0_224_quant_frozen.pb \
--input_arrays=input \
--output_arrays=MobilenetV1/Logits/AvgPool_1a/AvgPool

Edge TPU模型编译器上传

我得到了文件mobilenet_v1_embedding_extractor.tflite并将其上传到Edge TPU Model Compiler中。不幸的是,编译过程确实失败了,并且我收到以下错误消息:


ERROR: Something went wrong. Couldn't compile model.

More details
--------------
Start Time     2019-05-02T14:14:53.309219Z
State          FAILED
Duration       5.963912978s
Type           type.googleapis.com/google.cloud.iot.edgeml.v1beta1.CompileOperationMetadata
Name           operations/compile/16259636989695619987

根据我的理解,必须在raspberryPi + edgeTPU / devBoard上使用classification_transfer_learning.py脚本进行设备上学习之前完成上述过程。

希望您能给我一个解决问题的提示,并先谢谢您。

2019年5月3日更新

当我使用未经修改的mobilenet_v1_1.0_224_quant.tflite模型时,编译工作不会出现任何错误。

我使用了quantized model中的tensorflow

1 个答案:

答案 0 :(得分:3)

似乎tflite_convert的某些标志丢失了。我们将尽快修复该网站。请尝试:

tflite_convert \
--output_file=mobilenet_v1_embedding_extractor.tflite \
--graph_def_file=mobilenet_v1_1.0_224_quant_frozen.pb \
--inference_type=QUANTIZED_UINT8 \
--mean_values=128 \
--std_dev_values=128 \
--input_arrays=input \
--output_arrays=MobilenetV1/Logits/AvgPool_1a/AvgPool

这表示您要转换为量化模型,这是edgetpu转换器唯一有效的格式。有了这些标志,它应该可以正常工作。