TDA4VM: TDA4VM-TIDL算子转换工具

Part Number: TDA4VM


在ti-processor-sdk-rtos-j721e-evm-11_01_00_04版本中,

问题:

1、没有转换工具?

源码解压出来,在ti-processor-sdk-rtos-j721e-evm-11_01_00_04/c7x-mma-tidl目录中并没有/ti_dl/utils/tidlModelImport/out/tidl_model_import.out这个文件,没有这个目录/ti_dl/utils/tidlModelImport/out

2、如何实现tidl的模型转换呢?

wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04/c7x-mma-tidl/tidl_tools$ ls -al
总计 44
drwxr-xr-x 2 wp wp 4096  9月 16 17:17 .
drwxr-xr-x 7 wp wp 4096  9月 16 17:52 ..
lrwxrwxrwx 1 wp wp   54  9月 16 17:17 device_config.cfg -> ../ti_dl/test/testvecs/config/import/device_config.cfg
lrwxrwxrwx 1 wp wp   29  9月 16 17:17 itidl_rt.h -> ../arm-tidl/rt/inc/itidl_rt.h
lrwxrwxrwx 1 wp wp   28  9月 16 17:17 itvm_rt.h -> ../arm-tidl/rt/inc/itvm_rt.h
lrwxrwxrwx 1 wp wp   70  9月 16 17:17 libtidl_onnxrt_EP.so -> ../arm-tidl/onnxrt_ep/out/PC/x86_64/LINUX/release/libtidl_onnxrt_EP.so
lrwxrwxrwx 1 wp wp   76  9月 16 17:17 libtidl_tfl_delegate.so -> ../arm-tidl/tfl_delegate/out/PC/x86_64/LINUX/release/libtidl_tfl_delegate.so
lrwxrwxrwx 1 wp wp   59  9月 16 17:17 libvx_tidl_rt.so -> ../arm-tidl/rt/out/PC/x86_64/LINUX/release/libvx_tidl_rt.so
lrwxrwxrwx 1 wp wp   63  9月 16 17:17 libvx_tidl_rt.so.1.0 -> ../arm-tidl/rt/out/PC/x86_64/LINUX/release/libvx_tidl_rt.so.1.0
lrwxrwxrwx 1 wp wp   37  9月 16 17:17 PC_dsp_test_dl_algo.out -> ../ti_dl/test/PC_dsp_test_dl_algo.out
lrwxrwxrwx 1 wp wp   40  9月 16 17:17 ti_cnnperfsim.out -> ../ti_dl/utils/perfsim/ti_cnnperfsim.out
lrwxrwxrwx 1 wp wp   61  9月 16 17:17 tidl_graphVisualiser.out -> ../ti_dl/utils/tidlModelGraphviz/out/tidl_graphVisualiser.out
lrwxrwxrwx 1 wp wp   70  9月 16 17:17 tidl_graphVisualiser_runtimes.out -> ../ti_dl/utils/tidlModelGraphviz/out/tidl_graphVisualiser_runtimes.out
lrwxrwxrwx 1 wp wp   62  9月 16 17:17 tidl_model_custom_import.so -> ../ti_dl/utils/tidlModelImport/out/tidl_model_custom_import.so
lrwxrwxrwx 1 wp wp   60  9月 16 17:17 tidl_model_import_onnx.so -> ../ti_dl/utils/tidlModelImport/out/tidl_model_import_onnx.so
lrwxrwxrwx 1 wp wp   56  9月 16 17:17 tidl_model_import.out -> ../ti_dl/utils/tidlModelImport/out/tidl_model_import.out
lrwxrwxrwx 1 wp wp   61  9月 16 17:17 tidl_model_import_relay.so -> ../ti_dl/utils/tidlModelImport/out/tidl_model_import_relay.so
lrwxrwxrwx 1 wp wp   55  9月 16 17:17 tidl_model_import.so -> ../ti_dl/utils/tidlModelImport/out/tidl_model_import.so
lrwxrwxrwx 1 wp wp   62  9月 16 17:17 tidl_model_import_tflite.so -> ../ti_dl/utils/tidlModelImport/out/tidl_model_import_tflite.so
lrwxrwxrwx 1 wp wp   56  9月 16 17:17 tidl_model_secure.out -> ../ti_dl/utils/tidlModelSecure/out/tidl_model_secure.out
wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04/c7x-mma-tidl/tidl_tools$ ti-processor-sdk-rtos-j721e-evm-11_01_00_04^C
wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04/c7x-mma-tidl/tidl_tools$ cd ../..
wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04$ find . -name tidl_model_import.out
./c7x-mma-tidl/tidl_tools/tidl_model_import.out
wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04$ file ./c7x-mma-tidl/tidl_tools/tidl_model_import.out
./c7x-mma-tidl/tidl_tools/tidl_model_import.out: broken symbolic link to ../ti_dl/utils/tidlModelImport/out/tidl_model_import.out
wp@wp:~/jm/tda4vm/download/ti-processor-sdk-rtos-j721e-evm-11_01_00_04$

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 您好,

          如果你想在 RTOS-SDK 中使用转换工具,你需要使用 "make" 来构建它们。
          使用 "make tidl_pc_tools",这个 make 选项将生成一个 "out" 目录,其中包含可执行的 .out 文件。
          这是关于如何构建 RTOS-SDK 的文档链接。

           https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_01_00_04/exports/docs/vision_apps/docs/user_guide/index.html

          请参考下面的步骤。但请阅读文档以便更好地理解。

    === How to build j721e RTOS PSDK ===

    1. In the SDK root directory, install ROTS PSDK package

    •  ./sdk_builder/scripts/setup_psdk_rtos.sh

    // if you want to do "make tidl_pc_tools", then use the following option

    • ./sdk_builder/scripts/setup_psdk_rtos.sh --install_tidl_deps

    2. setup the environment (or you can edit the file "sdk_builder/build_flags.mak" and modify below 4 variables) 

    • export BUILD_EMULATION_MODE=no
    • export BUILD_TARGET_MODE=yes
    • export SOC=j721e
    • export PSDK_INSTALL_PATH=$(pwd)

    3.  Do below to build the full PSDK RTOS, with "N" being the number of parallel threads

  • 其中贵司提供的github.com/.../edgeai-tidl-tools.git这个工具,可以在PC上进行模型转换、编译和仿真推理,生成的model-artifacts文件是可以直接部署在TDA4VM平台运行么,对于这个SDK:ti-processor-sdk-linux-adas-j721e-evm-09_01_00_06-Linux-x86-Install,也是支持https://github.com/TexasInstruments/edgeai-tidl-tools.git这个工具生成的model-artifacts,可以部署在这个版本么?

  • 您好,

    贵司提供的这个edgeai-tidl-tools 对应的版本,模型编译生成的产物,是否支持运行在

    ti-processor-sdk-linux-adas-j721e-evm-09_01_00_06-Linux-x86-Install.bin

    这个环境里面呢?   这个edgeai-tidl-tools和RTOS-SDK中的tidl_model_import.out  本质区别是什么呢?

  • 您好,

     edgeAI TIDL 工具可以在 PC 上进行模型编译和推理模拟。

     这是获取 TIDL 工具的链接,只需使用“git clone”下载仓库,使用以下命令。      

    git clone https://github.com/TexasInstruments/edgeai-tidl-tools.git

    工件(.bin)文件可以在 PC 上生成,并可以下载到设备上,在 TI EVM 上运行。

    SDK 也可以生成工件文件(在你构建它之后),文件可以直接下载到 EVM 运行。这些文件与 TIDL 工具生成的 bin 文件相同。

    我建议先运行 TIDL 工具自带的示例,如果你能成功运行它们,那么你就能了解整个流程。

    这是 TIDL 在线文档的链接。

    github.com/.../edgeai-tidl-tools
  • 您好: 目前我已经生成了这样的文件,model-artifacts/cl-ort-onnxrt-test/artifacts目录有以下文件250525.onnx allowedNode.txt fusion_imgdenoise_img_tidl_io_1.bin  fusion_imgdenoise_img_tidl_net.bin       onnxrtMetaData.txt    param.yaml   这几个。   将model-artifacts/cl-ort-onnxrt-test/artifacts这个目录拷贝到TDA4VM的开发板上面后,如何进行推理呢?它所依赖的配置文件model_configs.py已经需要推理的源文件目录,都需要重新在板子上定义路径,才能正常运行么?