-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Future Request] 5D Transpose support in the edgetpu compiler #274
Comments
@PINTO0309 So, If edgetpu compiler still not support 5D-transpose operation, Thank you for your attention and patience! |
@HeywardLiu @PINTO0309 For example: We don't have any plans to support tensors with more than 3 innermost dimensions. Thanks! |
@hjonnala |
Thanks. |
1. Overview
There are many good quality models nowadays, including the 5D Transpose. For example, YOLOv4, YOLOv5, NanoDet, and so on. Currently, EdgeTPU Compiler does not support 5D transpose, so being able to do the transformations will benefit many engineers as it will allow them to generate very high performance edgetpu tflite models.
2. Details
2-1. Environment
2-2. NanoDet repository of citations
https://github.com/RangiLyu/nanodet.git
2-3. NanoDet Full Integer Quant tflite:
tflite: https://drive.google.com/file/d/1CXWOabh2Kml-0hAZrDg2fhqaUeOJ4JaL/view?usp=sharing
Model structure diagram of NanoDet Full Integer Quant tflite
2-4. NanoDet EdgetTPU tflite
tflite: https://drive.google.com/file/d/1qqtj-DndmFTIJBl4tDkuZPeBwA-eHV7T/view?usp=sharing
5D Transpose and later are ignored for conversion to custom op.
Model structure diagram of NanoDet EdgetTPU tflite
3. Benchmarks
Performance is measured on Kirin 980(4xA76+4xA55) ARM CPU based on ncnn. There is no doubt that if we were able to convert this model perfectly in EdgeTPU, the performance would be much higher than the benchmark using NCNN.
4. Appendix
I have already been able to convert all OPs except 5D Transpose into OPs supported by the edgetpu compiler.
4-1. PyTorch -> ONNX -> OpenVINO -> TFLite, Conversion Tools
openvino2tensorflow: https://github.com/PINTO0309/openvino2tensorflow.git
4-2. The various models generated by the conversion work are committed to
https://github.com/PINTO0309/PINTO_model_zoo/tree/master/072_NanoDet
The text was updated successfully, but these errors were encountered: