Ticket Name: TDA2PXEVM: TIDL Import Tool and Inference on the TDA2Px EVM Query Text: Part Number: TDA2PXEVM Hello, I am trying to run custom deep learning models on the TDA2Px EVM. As I understand, in order to run Deep Learning models on the board, TIDL library is used. The TIDL import tool generates binary files that represent the network and parameters of the model. What I also understand from this step is that the tool translates the input model from a framework like TensoFlow to a format that can be executed on DSP and EVE cores. When I tried to understand how to use the generated files for inference on the board, I found section 3.3.4 (Building the Test Application Executable through GMAKE) in the TIDL library which discusses how to load the .out files of the sample test application on the DSP and EVE cores using Code Compuser Studio (CCS). I want to understand these points: - What is the link between the TIDL import tool output binary files and building the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) for inference on the board ? The user guide states that for building the sample test application project I should execute the command (gmake CORE=dsp all) for DSP and (gmake CORE=eve all) for EVE. What about a different custom model ? What changes should I make and how to link the translated model by the TIDL import tool in order to build the (dsp_test_dl_algo.out and eve_test_dl_algo.out) files for my custom model? - Is there a way to run the .out files on the board without using CCS ? I want to run the models on the board using only a terminal, is it possible ? - Is there a specific OS that should be installed on an SD card for booting the board to run TIDL applications ? - I am facing some issues for setting a stable workflow for model deployment on TDA2PX EVM. I usually have custom trained deep learning models in TensorFlow and I am trying to deploy those models on the TDA2Px EVM. If there are any documentations or tutorials in addition to the provided user guides, please let me know. Thanks, Ahmed Anwar Responses: Hi Ahmed Anwar, 1. There is no dependency on "TIDL import tool output binary files" for building the .out files, these bin files are input which you need to specify in the infer config file. 2. Yes, you can run TIDL on the board without CCS, for that refer to TIDL OD usecase in the Vision SDK. 3. No, just follow the steps in Vision SDK user guide. 4. Refer to TIDL usecases section in the Vision SDK user guide. Overall, you can run TIDL on the board without CCS by using TIDL usecases, I would recommend to run the existing usecase as is first and once it is working then replace the "params" and "net" binary files in the SD card with your bin files and run. You can also refer to below e2e thread to import and run our pre-trained SSD model in the TIDL OD usecase. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/689617/tda2-how-to-run-ssd-based-tidl-od-use-case-in-vision-sdk-with-pre-trained-model Thanks, Praveen Hi Praveen, Thank you for your reply. I would like to understand these points: - What is the usage of the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) ? As I understand, I need only the network and parameters .bin files for running a model on the board using TIDL usecases.Would you please let me know what the usage of the .out files is ? Do I need them or just I need the .bin files ? - In the Vision SDK TIDL User Guide, in section 5 "Build and Run TIDL Object detect use case", these statements are present: "The TIDL Object detect use case is enabled and runs on TDA2XX SoC only." "Build the Vision SDK for TDA2XX BIOS configuration choosing the ‘MAKECONFIG?=tda2xx_evm_bios_all’ in the Rules.make." "Please refer to the ‘VisionSDK_UserGuide_TDA2xx.pdf’ for steps on building and running the Vision SDK." I am using TDA2PX, not TDA2XX. Does this mean that I can not run TIDL models and usecases on TDA2PX ? If TDA2PX supports TIDL usecases, should I follow "VisionSDK_UserGuide_TDA2xx.pdf" as stated or "VisionSDK_UserGuide_TDA2px.pdf’" ? Thanks, Ahmed Anwar Hi, >> What is the usage of the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) ? These .out files are required to when you connect the board to CCS and run TIDL on CCS based setup, but if you want to run TIDL without CCS then these .out files are not required. >> I am using TDA2PX, not TDA2XX. Does this mean that I can not run TIDL models and usecases on TDA2PX ? No, you can run TIDL models and usecases on TDA2PX, please refer to "VisionSDK_UserGuide_TDA2px.pdf" file. FYI, many customers were successfully able to run TIDL usecases on TDA2PX, you can search in the e2e for those threads as reference. I have shared few threads https://e2e.ti.com/support/processors-group/processors/f/processors-forum/867915/tidl_od-usecase-on-tda2px?tisearch=e2e-sitesearch&keymatch=TDA2PX# https://e2e.ti.com/support/processors-group/processors/f/processors-forum/714606/linux-tda2pxevm-issue-in-running-vision-sdk-demo-application-on-tda2px?tisearch=e2e-sitesearch&keymatch=TDA2PX# Thanks, Praveen Does That mean I Can't Run TIDL use cases on Vision SDK Linux or in other words I must use the "MAKECONFIG?=tda2Px_evm_bios_all" configration but I can't use the "MAKECONFIG?=tda2xx_evm_linux_all" configuration? Thanks, Kirollos Henry You can but you have to set OPENVX_INCLUDE=y in ~/vision_sdk/apps/configs/tda2px_evm_linux_all/cfg.mk. Thank you so much I was able to Solve that issue Best Regards, Kirollos Henry