Vitis-AI Integration : Different Behaviour in tvm + vitis and stanalone vitis

Hi @jtuyls/ @mak ,

We have custom resnet50 based model, where we noticed different behaviour. Using standalone Vitis tool we were able to compile successfully without any issue. Using Tvm + Vitis workflow with same model we see compilation issue and showing as stride mismatch not same.

Is the same vitis version used in both the cases? Can you please suggest us some inputs how to debug this issue?

Note: With TVM , we are using 2.5 image setup. standalone Vitis we are using 1.2 version.

Thanks and Regards, Raju

@kvaju.454

We use the same compiler in tvm and vitis-ai. In TVM, we generate a subgraph and pass it to vitis-ai compiler.

Could you please share your model? We would like to replicate the issue you were seeing.

@mak ,

Please find the attached custom model and error log files. Log file contain all the information related to error and all. Please check it and let me know if you need any further info.

Note:

In standalone vitis-ai workflow we are using caffe C compiler .

Thanks and Regards, Raju

Hi @mak/ @jtuyls ,

Any update on this? Did you get a chance to reproduce the issue?

Thanks and Regards, Raju

@kvaju.454

Internally pyxir convert the relay module into tensorflow model for quantization and compilation. Apparently, tensorflow does not support depthwise convolution with different strides.

Hi @mak ,

Thanks for your reply on this.

@mak / @jtuyls ,

As per my understanding underlying hardware DPU has a support to handle this kind of layers and to use TVM workflow we are blocked by the software interface(relay module into tensorflow model) . Do you guys have any idea to enable this support ? If yes, When can we expect the fix? If not possible then we are end-up using standalone Vitis workflow instead of TVM-Vitis workflow.

Thanks and Regards, Raju

Hi @kvaju.454 , we won’t be able to solve this issue in the short term for the TVM flow due to the Tensorflow intermediary and the depthwise convolution operators with asymmetric strides not being supported in the version we are using.

Thanks for sharing the information on this.

Thanks and Regards, Raju