Part Number: TDA4VM
Hi
If we run the unsupported layers on ARM, the processing is quite slow.
So, now I 'm trying to modify the network to run it on MMA as much as possible.
While doing that, I' m facing the following trouble.
I appreciate your advice to solve it.
<<Problem phenomenon>>
We are trying to compile the ONNX model for TDA4 EVM by following the instruction at
TVM/Neo-AI-DLR + TIDL Heterogeneous Execution
It succeeds in generating artifacts.
But, If we try to perform inference on EVM, an error will occur after quantization.
<<Procedures & Environment>>
- Pytorch is used to define and train the model
- The network we use are based on CenternNet=HarDNet(https://github.com/PingoLH/CenterNet-HarDNet), and modified by ourself.
- Convert Pytorch trained weights to Onnx files using torch.onnx built into pytorch
- Simplify onnx files using onnx simplifer (github.com/.../onnx-simplifier)
- From the simplified Onnx file, Generate the artifacts required for inference by following the procedure of TVM / Neo-AI-DLR + TIDL Heterogeneous Execution (The following error is occurred here)
NOTE: For compilation, tvm-compilation-onnx-example.py is modified and used (only the path to be compiled and the image size are changed).
<<Logs>>
------------------ Network Compiler Traces -----------------------------
ti_cnnperfsim.out: src/netmemmanger.c:366: int32_t updateInstanceMem(sMemorySizeinfo*, sBufProperty_t*, int32_t, sDataFlowInfo_t*): Assertion `0' failed.
Aborted (core dumped)
substitute string tidl_net_ not found
Could not open /home/ttt/Ti/ti-processor-sdk-rtos-j721e-evm-07_02_00_06/tidl_j7_01_04_00_08/ti_dl/test/tvm-dlr/torch_ocr_torch-split--conv-with-contiguous-simple/tempDir/subgraph0_net/perfSimInfo.bin
INFORMATION: [TIDL_ResizeLayer] 538 Any resize ratio which is power of 2 and greater than 4 will be placed by combination of 4x4 resize layer and 2x2 resize layer. For example a 8x8 resize will be replaced by 4x4 resize followed by 2x2 resize.
INFORMATION: [TIDL_ResizeLayer] 603 Any resize ratio which is power of 2 and greater than 4 will be placed by combination of 4x4 resize layer and 2x2 resize layer. For example a 8x8 resize will be replaced by 4x4 resize followed by 2x2 resize.
INFORMATION: [TIDL_ResizeLayer] 615 Any resize ratio which is power of 2 and greater than 4 will be placed by combination of 4x4 resize layer and 2x2 resize layer. For example a 8x8 resize will be replaced by 4x4 resize followed by 2x2 resize.
INFORMATION: [TIDL_ResizeLayer] 613 Any resize ratio which is power of 2 and greater than 4 will be placed by combination of 4x4 resize layer and 2x2 resize layer. For example a 8x8 resize will be replaced by 4x4 resize followed by 2x2 resize.
INFORMATION: [TIDL_ResizeLayer] 672 Any resize ratio which is power of 2 and greater than 4 will be placed by combination of 4x4 resize layer and 2x2 resize layer. For example a 8x8 resize will be replaced by 4x4 resize followed by 2x2 resize.
WARNING: [TIDL_E_DATAFLOW_INFO_NULL] ti_cnnperfsim.out fails to allocate memory in MSMC. Please look into perfsim log. This model can only be used on PC emulation, it will get fault on target.
Could you please provide the advice to solve above?
<<Supplementary explanation>>
At the network I'm using, torch.split of pytorch operation is used to split the feature map in two in the channel direction.
And Both of the divided parts are used for subsequent inference.
This split operation may cause the strange memory allocation on EVM.
Thanks and Best regards,
HaTa