[英]CUSTOM : Operation is working on an unsupported data type EDGETPU
I am trying to retrain custom object detector model for Coral USB and follow coral ai tutorials from these link;我正在尝试为珊瑚 USB 重新训练自定义 object 检测器 model 并按照这些链接中的珊瑚 ai 教程进行操作; https://coral.ai/docs/edgetpu/retrain-detection/#requirements
https://coral.ai/docs/edgetpu/retrain-detection/#requirements
After retrained ssd_mobilenet_v2 model, converting edge tpu models with edge tpu compiler.重新训练 ssd_mobilenet_v2 model 后,使用 edge tpu 编译器转换边缘 tpu 模型。 Compiler result are these;
编译结果是这些;
Operator![]() |
Count![]() |
Status![]() |
---|---|---|
CUSTOM![]() |
1 ![]() |
Operation is working on an unsupported data type![]() |
ADD![]() |
10 ![]() |
Mapped to Edge TPU![]() |
LOGISTIC![]() |
1 ![]() |
Mapped to Edge TPU![]() |
CONCATENATION![]() |
2 ![]() |
Mapped to Edge TPU![]() |
RESHAPE![]() |
13 ![]() |
Mapped to Edge TPU![]() |
CONV_2D ![]() |
55 ![]() |
Mapped to Edge TPU![]() |
DEPTHWISE_CONV_2D ![]() |
17 ![]() |
Mapped to Edge TPU![]() |
And visualize from netron;并从 netron 可视化;
"Custom" operator not mapped. “自定义”运算符未映射。 All operations are mapped and worked on tpu but "custom" is working on cpu.
所有操作都在 tpu 上映射和工作,但“自定义”在 cpu 上工作。 I saw same operator in ssd_mobilenet_v1
我在 ssd_mobilenet_v1 中看到了相同的运营商
How i can convert all operators to edgetpu models?我如何将所有运算符转换为 edgetpu 模型? What is the custom operator?
什么是自定义运算符? ( you can find supported operators from here https://coral.ai/docs/edgetpu/models-intro/#supported-operations )
(您可以从这里找到支持的运算符https://coral.ai/docs/edgetpu/models-intro/#supported-operations )
This is the correct output for a SSD model.这是 SSD model 的正确 output。 The TFLite_Detection_PostProcess is the custom op that is not run on the EdgeTPU.
TFLite_Detection_PostProcess 是不在 EdgeTPU 上运行的自定义操作。 If you run netron on one of our default SSD models on https://coral.ai/models/ , you'll see the PostProcess runs on CPU in that case.
如果您在https://coral.ai/models/上我们的默认 SSD 型号之一上运行 netron,您将看到在这种情况下 PostProcess 在 CPU 上运行。
In the case of your model, every part of the of the model has been successfully converted.对于您的 model,model 的每个部分都已成功转换。 The last stage (which takes the model output and converts it to various usable outputs) is a custom implementation in TFLite that is already optimized for speed but is generic compute, not TFLite ops that the EdgeTPU accelerates.
最后一个阶段(采用 model output 并将其转换为各种可用输出)是 TFLite 中的自定义实现,它已经针对速度进行了优化,但是是通用计算,而不是 EdgeTPU 加速的 TFLite 操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.