简体   繁体   English

自定义:操作正在处理不受支持的数据类型 EDGETPU

[英]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 1 Operation is working on an unsupported data type操作正在处理不受支持的数据类型
ADD添加 10 10 Mapped to Edge TPU映射到边缘 TPU
LOGISTIC物流 1 1 Mapped to Edge TPU映射到边缘 TPU
CONCATENATION级联 2 2 Mapped to Edge TPU映射到边缘 TPU
RESHAPE重塑 13 13 Mapped to Edge TPU映射到边缘 TPU
CONV_2D CONV_2D 55 55 Mapped to Edge TPU映射到边缘 TPU
DEPTHWISE_CONV_2D DEPTHWISE_CONV_2D 17 17 Mapped to Edge TPU映射到边缘 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.

相关问题 `TypeError: 不支持的操作数类型 *: 'Operation' 和 'int'`。 Keras张量流 - `TypeError: unsupported operand type(s) for *: 'Operation' and 'int'`. Keras tensorflow ValueError:张量中不支持的数据类型 14 - ValueError: Unsupported data type 14 in tensor ValueError:张量中不支持的数据类型 13 - ValueError: Unsupported data type 13 in tensor Tensorflow Lite转换失败:占位符op中不支持的数据类型 - Failed Tensorflow Lite conversion: Unsupported data type in placeholder op 自定义卷积和无类型 object in keras 自定义层用于门控操作 - Custom convolutions and none type object in keras custom layer for gating operation TPU 不支持的数据类型:double,由 output IteratorGetNext:0 引起 - Unsupported data type for TPU: double, caused by output IteratorGetNext:0 如何在张量流中更改图形操作的数据类型? - How to change data type of a graph operation in tensorflow? TensorFlow 不支持的对象类型 Float - TensorFlow unsupported object type Float Google Colab:不支持的 TPU 数据类型:double,由输出 cond_8/Merge:0 引起 - Google Colab: Unsupported data type for TPU: double, caused by output cond_8/Merge:0 使用 Tensorflow 的 Edgetpu 编译器编译时出错 - Error compiling with Edgetpu compiler for Tensorflow
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM