源码&环境
-
MobileVit: https://github.com/wilile26811249/MobileViT
案例&复现
-
动态onnx转trt报:
[05/07/2023-15:05:12] [TRT] [V] Tactic: -423878181466897819 Time: 0.018784
[05/07/2023-15:05:12] [TRT] [V] Fastest Tactic: 5258189349241541167 Time: 0.014688
[05/07/2023-15:05:12] [TRT] [V] >>>>>>>>>>>>>>> Chose Runner Type: CaskConvolution Tactic: 5258189349241541167
[05/07/2023-15:05:12] [TRT] [V] =============== Computing costs for
[05/07/2023-15:05:12] [TRT] [V] *************** Autotuning format combination: Float(147456,1024,32,1) -> Float(147456,1024,32,1) ***************
[05/07/2023-15:05:12] [TRT] [V] --------------- Timing Runner: {ForeignNode[onnx::MatMul_2853 + (Unnamed Layer* 96) [Shuffle]...Reshape_553]} (Myelin)
python: /root/gpgpu/MachineLearning/myelin/src/compiler/optimizer/kqv_gemm_split.cpp:350: void myelin::ir::kqv_split_pattern_t::check_transpose(): Assertion `in_dims.size() == 3' failed.
Aborted (core dumped)
- 定位到:rearange支持问题,方法见参考
解析&思考
-
调试得知num_heads=1,因此:
参考&引用
-
onnx定位:
[ONNX从入门到放弃] 3. ONNX形状推理 - 知乎 (部分层无效)
onnx优化系列 - 获取onnx每层输出及shape_onnx shape_Artyze的博客-CSDN博客
- 复现来源:
https://github.com/chenlamei/MobileVit_TensorRT/blob/master/README.md