This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:编译 edgeai-tidl-tools:收到错误

Guru**** 2393725 points
Other Parts Discussed in Thread: AM62A7

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error

器件型号:AM62A7

工具与软件:

尊敬的 TI 团队:  

我正在使用 edgeai-tidl-tools SDK、并编译10.01.04.00分支、以使用 AM62A7板上的模型。 在编译 SDK 时、我面临这个问题。  

以下是我正在执行的步骤:

# Setup on X86_PC (ubuntu 22.04, python version - Python 3.10.12)
git clone github.com/.../edgeai-tidl-tools.git
cd edgeai-tidl-tools
git checkout 10_01_04_00
export SOC=am62a
source ./setup.sh

# Compile and Validate on X86_PC
mkdir build && cd build
source ./scripts/run_python_examples.sh
python3 ./scripts/gen_test_report.py

运行source ./scripts/run_python_examples.sh""命令时、Ubuntu 出现以下错误:

X64 Architecture
1

Running 4 Models - ['cl-tfl-mobilenet_v1_1.0_224', 'ss-tfl-deeplabv3_mnv2_ade20k_float', 'od-tfl-ssd_mobilenet_v2_300_float', 'od-tfl-ssdlite_mobiledet_dsp_320x320_coco']


Running_Model :  cl-tfl-mobilenet_v1_1.0_224

Running_Model :  ss-tfl-deeplabv3_mnv2_ade20k_float

Running_Model :  od-tfl-ssd_mobilenet_v2_300_float

Running_Model :  od-tfl-ssdlite_mobiledet_dsp_320x320_coco
Downloading   ../../../models/public/deeplabv3_mnv2_ade20k_float.tflite
========================= [Model Compilation Started] =========================

Model compilation will perform the following stages:
1. Parsing
2. Graph Optimization
3. Quantization & Calibration
4. Memory Planning

============================== [Version Summary] ==============================

-------------------------------------------------------------------------------
|          TIDL Tools Version          |              10_01_04_00             |
-------------------------------------------------------------------------------
|         C7x Firmware Version         |              10_01_00_01             |
-------------------------------------------------------------------------------

============================== [Parsing Started] ==============================

[TIDL Import] [PARSER] WARNING: Network not identified as Object Detection network : (1) Ignore if network is not Object Detection network (2) If network is Object Detection network, please specify "model_type":"OD" as part of OSRT compilation options

Total Nodes = 31
-------------------------------------------------------------------------------
|          Core           |      No. of Nodes       |   Number of Subgraphs   |
-------------------------------------------------------------------------------
| C7x                     |                      31 |                       1 |
| CPU                     |                       0 |                       x |
-------------------------------------------------------------------------------
============================= [Parsing Completed] =============================

==================== [Optimization for subgraph_86 started] ====================

Process Process-2:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/admin/JayK/tidl-tools/edgeai-tidl-tools/examples/osrt_python/tfl/tflrt_delegate.py", line 240, in run_model
    download_model(models_configs, model)
  File "/home/admin/JayK/tidl-tools/edgeai-tidl-tools/examples/osrt_python/common_utils.py", line 294, in download_model
    tflOpt.tidlTfliteModelOptimize(
NameError: name 'tflOpt' is not defined
[TIDL Import] [PARSER] WARNING: Requested output data convert layer is not added to the network, It is currently not optimal
----------------------------- Optimization Summary -----------------------------
--------------------------------------------------------------------------------
|         Layer         | Nodes before optimization | Nodes after optimization |
--------------------------------------------------------------------------------
| TIDL_SoftMaxLayer     |                         1 |                        1 |
| TIDL_SqueezeLayer     |                         1 |                        0 |
| TIDL_ConvolutionLayer |                        28 |                       28 |
| TIDL_PoolingLayer     |                         1 |                        1 |
--------------------------------------------------------------------------------

=================== [Optimization for subgraph_86 completed] ===================

/home/admin/JayK/tidl-tools/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_graphVisualiser.out: error while loading shared libraries: libcgraph.so.6: cannot open shared object file: No such file or directory
[TIDL Import]  WARNING: System command failed with return code : 32512. Skipping Graph Visualization.
The soft limit is 10240
The hard limit is 10240
MEM: Init ... !!!
MEM: Init ... Done !!!
 0.0s:  VX_ZONE_INIT:Enabled
 0.34s:  VX_ZONE_ERROR:Enabled
 0.38s:  VX_ZONE_WARNING:Enabled
 0.48340s:  VX_ZONE_INIT:[tivxInit:190] Initialization Done !!!

 ************ Frame index 1 : Running float inference ****************


 ************ Frame index 2 : Running fixed point mode for calibration ****************


-------- Running Calibration in Float Mode to Collect Tensor Statistics --------
[=============================================================================] 100 %

------------------ Fixed-point Calibration Iteration [1 / 5]: ------------------
[TIDL Import]  ERROR: Failed to run calibration pass, system command returned error: 132 -- [tidl_import_core.cpp, 678]
[TIDL Import]  ERROR: Failed to run Calibration - Failed in function: tidlRunQuantStatsTool -- [tidl_import_core.cpp, 1746]
[TIDL Import] [QUANTIZATION] ERROR:  - Failed in function: TIDL_quantStatsFixedOrFloat -- [tidl_import_quantize.cpp, 3992]
[TIDL Import] [QUANTIZATION] ERROR:  - Failed in function: TIDL_runIterativeCalibration -- [tidl_import_quantize.cpp, 4313]
[TIDL Import] [QUANTIZATION] ERROR:  - Failed in function: TIDL_import_quantize -- [tidl_import_quantize.cpp, 5195]
[TIDL Import]  ERROR:  - Failed in function: TIDL_import_backend -- [tidl_import_core.cpp, 4428]
[TIDL Import]  ERROR:  - Failed in function: TIDL_runtimesPostProcessNet -- [tidl_runtimes_import_common.cpp, 1414]


Completed_Model :     1, Name : cl-tfl-mobilenet_v1_1.0_224                       , Total time :    3555.15, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output Image File : py_out_cl-tfl-mobilenet_v1_1.0_224_ADE_val_00001801.jpg, Output Bin File : py_out_cl-tfl-mobilenet_v1_1.0_224_ADE_val_00001801.bin


MEM: Deinit ... !!!
MEM: Alloc's: 26 alloc's of 68565333 bytes
MEM: Free's : 26 free's  of 68565333 bytes
MEM: Open's : 0 allocs  of 0 bytes
MEM: Deinit ... Done !!!

因此、"定点校准迭代"失败、每次都失败。 我不确定那是正确的、生成的模型和模式伪影是正确的? 如果我必须在此处进行任何更改、请告诉我。

此外、我遇到了我无法解决的以下误差。

2025-02-20 14:19:37.717610752 [E:onnxruntime:, sequential_executor.cc:514 ExecuteKernel] Non-zero status code returned while running TIDL_0 node. Name:'TIDLExecutionProvider_TIDL_0_0' Status Message: TIDL Compute Invoke Failed.
Process Process-2:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/admin/JayK/tidl-tools/edgeai-tidl-tools/examples/osrt_python/ort/onnxrt_ep.py", line 392, in run_model
    imgs, output, proc_time, sub_graph_time, height, width = infer_image(sess, input_images, config)
  File "/home/admin/JayK/tidl-tools/edgeai-tidl-tools/examples/osrt_python/ort/onnxrt_ep.py", line 208, in infer_image
    output = list(sess.run(None, {input_name: input_data}))
  File "/home/admin/.local/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 217, in run
    return self._sess.run(output_names, input_feed, run_options)
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Non-zero status code returned while running TIDL_0 node. Name:'TIDLExecutionProvider_TIDL_0_0' Status Message: TIDL Compute Invoke Failed.
MEM: Deinit ... !!!
MEM: Alloc's: 27 alloc's of 208282052 bytes
MEM: Free's : 27 free's  of 208282052 bytes
MEM: Open's : 0 allocs  of 0 bytes
MEM: Deinit ... Done !!!

此致、

Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    嗯、我看到这里抛出了多个错误。 当我在我的机器上运行相同的脚本时、我没有看到校准迭代失败的问题。 让我来解释几个意见。  

    错误1)

    您的"NameError: name 'tflopt' is not defined"早期错误。 如果在命令行中打开 python REPL 并运行以下命令、则结果是什么?

    from osrt_model_tools.tflite_tools import tflite_model_opt as tflOpt

    • 这是位于"/edgeai-tidl-tools/osrt-model-tools/osrt_model_tools/tflite_tools/tflite_model_opt.py "上的本地软件包、应该已在设置期间添加到您的 python 环境中

    错误2)  

    /home/admin/JayK/tidl-tools/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_graphVisualiser.out: error while loading shared libraries: libcgraph.so.6: cannot open shared object file: No such file or directory
    [TIDL Import] WARNING: System command failed with return code : 32512. Skipping Graph Visualization.
    这通常不是致命的错误、但我要解决它--您的系统似乎缺少一个依赖项、否则它不是由 setup.sh 安装的。 libcgraph 软件包需要通过 apt 安装。

    • 也许这篇论坛帖子很有帮助: https://stackoverflow.com/a/42315670 --我记得在为 TIDL 编译设置开发机器时所采取的同样的步骤
      • 用于在 model-artifacts/model_name/artifacts/tempDir 位置中创建一些 SVG 文件。 它们有助于直观地显示 TIDL 解析的内容

    错误3)  

    我确实注意到、 如果在校准期间 I ctrl-c、我会看到出现~7行错误、如"TIDL Import]错误:运行校准失败、系统命令返回错误:132 "、从而取消了该过程

    这可能是由上述错误之一导致的、因此我建议先解决这些错误。

    上面的这些示例在运行 带有参数"-z -c"的/examples/osrt_python/tfl/tflrt_delegate.py 以使用模型时所处的位置 Z 将 OO 和加载到  C. 桩。

    BR、
    Reese

    您有另一个与 onnxruntime 相关的误差。 也许这有某种关系。 我需要看到更多日志记录才能理解。 您能否编辑 examples/osrt_python/common_utils.py 并将"Debug_level"变量设置为1?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:

    感谢您的答复。

    [报价 userid="360457" url="~/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error/5670469 #5670469"]python REPL

    在命令行中运行 python3 REPL 时、会出现以下错误。

    admin@VM2502:~/jay/edgeai-sdk/edgeai-tidl-tools$ python3 REPL
    python3: can't open file '/home/admin/jay/edgeai-sdk/edgeai-tidl-tools/REPL': [Errno 2] No such file or directory

    RELP 已安装、但我想 edgeai 软件包会将其拆列在本地目录中

    admin@VM2502:~/jay/edgeai-sdk/edgeai-tidl-tools$ pip3 show repl
    Name: repl
    Version: 1.0
    Summary: Run command as REPL-environment (useful for git!).
    Home-page: https://github.com/mbr/repl
    Author: Marc Brinkmann
    Author-email: git@marcbrinkmann.de
    License: MIT
    Location: /home/admin/.local/lib/python3.10/site-packages
    Requires: click
    Required-by:

    我对 python 不太熟悉。 所以我不确定这一点。 您对此有什么想法吗?

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    原谅我使用行话-- REPL 代表"Read-Eval-Print Loop"、它是一个通用的术语、用于交互式编码环境、您可以在不准备实际脚本或文件的情况下运行代码。

    对于 python、只需运行不带任何参数的`python3`命令

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:

    感谢您的答复。

    [报价 userid="360457" url="~/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error/5670469 #5670469"]

    如果在命令行中打开 python REPL 并运行以下命令、则结果是什么?

    全屏
    1.
    从 osrt_model_tools.tflite_tools 中导入 tflite_model_opt 作为 tflOpt
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    [报价]

    它在我的 python3环境中的输出是

    admin@VM2502:~$ python3
    Python 3.10.12 (main, Feb  4 2025, 14:57:36) [GCC 11.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    >>> from osrt_model_tools.tflite_tools import tflite_model_opt as tflOpt
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'osrt_model_tools'
    >>>
    >>>
    >>>
    >>> from osrt_model_tools.tflite_tools import tflite_model_opt as tflOpt
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'osrt_model_tools'

    未找到"osrt_model_tools"模块。 此模块是否从 setup.py 脚本安装?

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    嗯、所以在主 setup.sh 脚本期间出现了问题。 我在内部看到、它试图在 osrt-model-tools 中运行另一个(名称相同) setup.sh。 您能直接运行吗?

    脚本位于 edgeai-tidl-tools 中: https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/osrt-model-tools/setup.sh。 请在此分享输出日志。 我怀疑您遇到了版本/依赖性冲突。

    也值得问--你在这里使用的是哪种操作系统版本和 python 版本? 我们支持 Ubuntu 22.04 LTS 和 Python 3.10。 我通常建议使用虚拟环境来避免相关性冲突。 工具如 conda 或内置 venv (后者是我的喜好)是好的。

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:

    HMM、所以在主 setup.sh 脚本中出现了问题。 我在内部看到、它试图在 osrt-model-tools 中运行另一个(名称相同) setup.sh。 您能直接运行吗?[/QUOT]

    下面是从 osrt-model-tools 删除 setup.sh 时的日志文件、并且存在错误。  

    e2e.ti.com/.../osrt_2D00_model_2D00_tools_2D00_setup_2D00_error.txt

    同样值得询问--您在这里使用的是哪种操作系统版本和 python 版本? 我们支持 Ubuntu 22.04 LTS 和 Python 3.10

    是的、操作系统是 Ubuntu 22.04、Python 是  3.10.12.

    我通常建议使用虚拟环境来避免相关性冲突。 像 conda 或内置 venv (后者是我的首选)这样的工具是好的。[/报价]

    您能否提供有关如何为此设置虚拟环境的参考?

    此致、

    Jay

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    我使用 venv、就像这样:

    python3 -m venv ./venv-tidl-tools-SDKvX.Y #create venv
    source ./venv-tidl-tools-SDKvX.Y/bin/activate #activate virtual environment

    还提供 Docker 容器:

    在您的情况下、TensorRT 未能安装--这是 onnx_graph外科 医生工具的一个依赖项。 您使用的是 TFL 模型、因此可能没有必要这样做

    我的建议如下:  

    1. 尝试按照上面建议创建一个 venv、并重新运行 edgeai-tidl-tools/setup.sh 主脚本。 如果通过、请忽略下一条建议
    2. 如果上述方法不起作用、我们来尝试 Docker 方法。 请参阅上面链接文件夹中的编译和运行脚本

    我不知道 为什么 TensorRT 安装失败,但看起来更像是一个 setuptools 问题。 一个快速谷歌/堆栈溢出/交换搜索将是值得尝试看看是否有一个常见的修复-我希望虚拟环境/容器可以解决这个问题。 如果这种情况仍然存在、我们可能可以修改几个 python/setup.sh 脚本以忽略 TensorRT、因为您只是查看 TFL 模型。

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:  

    感谢您提供使用 python 虚拟环境的建议。 设置虚拟环境后、运行"setup.sh"脚本设置环境时几乎没有错误。

    但是、我使用 GPU 选项编译 SDK。 我的理解是、在编译 edgeai SDK CPU 时、模型在 EVM 上使用时将使用 CPU、如果 编译 edgeai SDK 时将使用 GPU、在 EVM 上使用时将使用 GPU。

    因此、当 SDK 使用 GPU 选项进行编译时、" ./scripts/run_python_examples.sh"脚本显示以下错误。

    (virtual-env-edgeai) admin@VM2502:~/jay/python-virtual-env/edgeai-tidl-tools$ source ./scripts/run_python_examples.sh
    X64 Architecture
    1
    
    
    
    
    
    Running 4 Models - ['cl-tfl-mobilenet_v1_1.0_224', 'ss-tfl-deeplabv3_mnv2_ade20k_float', 'od-tfl-ssd_mobilenet_v2_300_float', 'od-tfl-ssdlite_mobiledet_dsp_320x320_coco']
    
    
    Running_Model :  cl-tfl-mobilenet_v1_1.0_224
    Downloading   ../../../models/public/mobilenet_v1_1.0_224.tflite
    
    Running_Model :  ss-tfl-deeplabv3_mnv2_ade20k_float
    
    Running_Model :  od-tfl-ssd_mobilenet_v2_300_float
    
    Running_Model :  od-tfl-ssdlite_mobiledet_dsp_320x320_coco
    /home/admin/jay/python-virtual-env/edgeai-tidl-tools/models/public/mobilenet_v1_1.0_224.tflite
    Downloading   ../../../models/public/deeplabv3_mnv2_ade20k_float.tflite
    Process Process-1:
    Traceback (most recent call last):
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 166, in load_delegate
        delegate = Delegate(library, options)
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 104, in __init__
        raise ValueError(capture.message)
    ValueError: could not load library libvx_tidl_rt.so
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
        self._target(*self._args, **self._kwargs)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/tfl/tflrt_delegate.py", line 299, in run_model
        tflite.load_delegate(
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 168, in load_delegate
        raise ValueError('Failed to load delegate from {}\n{}'.format(
    ValueError: Failed to load delegate from /home/admin/jay/python-virtual-env/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_model_import_tflite.so
    could not load library libvx_tidl_rt.so
    /home/admin/jay/python-virtual-env/edgeai-tidl-tools/models/public/deeplabv3_mnv2_ade20k_float.tflite
    Downloading   ../../../models/public/ssd_mobilenet_v2_300_float.tflite
    Process Process-2:
    Traceback (most recent call last):
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 166, in load_delegate
        delegate = Delegate(library, options)
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 104, in __init__
        raise ValueError(capture.message)
    ValueError: could not load library libvx_tidl_rt.so
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
        self._target(*self._args, **self._kwargs)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/tfl/tflrt_delegate.py", line 299, in run_model
        tflite.load_delegate(
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 168, in load_delegate
        raise ValueError('Failed to load delegate from {}\n{}'.format(
    ValueError: Failed to load delegate from /home/admin/jay/python-virtual-env/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_model_import_tflite.so
    could not load library libvx_tidl_rt.so
    /home/admin/jay/python-virtual-env/edgeai-tidl-tools/models/public/ssd_mobilenet_v2_300_float.tflite
    Downloading   ../../../models/public/ssdlite_mobiledet_dsp_320x320_coco_20200519.tflite
    Process Process-3:
    Traceback (most recent call last):
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 166, in load_delegate
        delegate = Delegate(library, options)
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 104, in __init__
        raise ValueError(capture.message)
    ValueError: could not load library libvx_tidl_rt.so
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
        self._target(*self._args, **self._kwargs)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/tfl/tflrt_delegate.py", line 299, in run_model
        tflite.load_delegate(
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 168, in load_delegate
        raise ValueError('Failed to load delegate from {}\n{}'.format(
    ValueError: Failed to load delegate from /home/admin/jay/python-virtual-env/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_model_import_tflite.so
    could not load library libvx_tidl_rt.so
    /home/admin/jay/python-virtual-env/edgeai-tidl-tools/models/public/ssdlite_mobiledet_dsp_320x320_coco_20200519.tflite
    Downloading   ../../../models/public/ssdlite_mobiledet_dsp_320x320_coco_20200519.prototxt
    Process Process-4:
    Traceback (most recent call last):
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 166, in load_delegate
        delegate = Delegate(library, options)
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 104, in __init__
        raise ValueError(capture.message)
    ValueError: could not load library libvx_tidl_rt.so
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
        self._target(*self._args, **self._kwargs)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/tfl/tflrt_delegate.py", line 299, in run_model
        tflite.load_delegate(
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/tflite_runtime/interpreter.py", line 168, in load_delegate
        raise ValueError('Failed to load delegate from {}\n{}'.format(
    ValueError: Failed to load delegate from /home/admin/jay/python-virtual-env/edgeai-tidl-tools/tools/AM62A/tidl_tools/tidl_model_import_tflite.so
    could not load library libvx_tidl_rt.so

    我正在使用虚拟环境。 如果我不使用虚拟环境、则 GPU 选项也会出现相同错误。 在此之前、无论我与您分享了什么错误、这些错误都是使用 CPU 选项进行编译时产生的。 在使用 GPU 选项编译 SDK 时会遇到上述错误。

    使用 GPU 选项编译 SDK 时可能会出现什么问题?

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    [报价 userid="603086" url="~/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error/5685529 #5685529"]但是、我使用 GPU 选项编译 SDK。 我的理解是、在编译 edgeai SDK CPU 时、模型将在 EVM 上使用 CPU;如果 编译 edgeai SDK、模型将在 EVM 上使用 GPU。[/QUOT]

    啊、这是有道理的。 我来解释一下 GPU 与 CPU 工具——简而言之、您现在应该使用 CPU 工具。  

    两个工具集的结果是相同的--您会收到一组称为"工件"的文件、让您在 AM6xA/TDA4x 处理器上以 C7xMMA 神经网络加速器为目标。 无论您是使用 GPU 还是 CPU、都不会影响 TI 处理器或其中可能成为目标的加速器。

    那么、GPU 工具有哪些用途? 在模型从浮点转换时加速模型的校准和量化。 如果有许多 calibration_itations 和 calibration_frames、这一过程会很慢、但对于较低的值(1-5)、CPU 是可以接受的

    因此、我建议删除 tools/子目录并重新运行 setup.sh 脚本以定位基于 CPU 的工具。 这是更简单的安装

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:  

    感谢您的答复。  

    正如您建议的那样、我现在使用 python 虚拟环境来使用 CPU 选项来编译 SDK。 我在其中有两个问题。

    查询1:

    source ./scripts/run_python_examples.sh在编译和验证部分运行""时、出现以下错误。 我要附加从"source .cmat"/scripts/run_python_examples.sh 命令生成的完整编译日志。

    e2e.ti.com/.../Error_2D00_while_2D00_running_2D00_run_5F00_python_5F00_examples.txt

    在执行上述命令时、我遇到以下错误2次。 此外,编译停止在那里,而不向前在最后一个错误后,你在上面的日志中看到. 之后我必须按 Ctrl + C 键停止该过程。

    2025-03-03 14:52:01.749303398 [E:onnxruntime:, sequential_executor.cc:514 ExecuteKernel] Non-zero status code returned while running TIDL_0 node. Name:'TIDLExecutionProvider_TIDL_0_0' Status Message: TIDL Compute Invoke Failed.
    Process Process-2:
    Traceback (most recent call last):
      File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
        self._target(*self._args, **self._kwargs)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/ort/onnxrt_ep.py", line 392, in run_model
        imgs, output, proc_time, sub_graph_time, height, width = infer_image(sess, input_images, config)
      File "/home/admin/jay/python-virtual-env/edgeai-tidl-tools/examples/osrt_python/ort/onnxrt_ep.py", line 208, in infer_image
        output = list(sess.run(None, {input_name: input_data}))
      File "/home/admin/jay/python-virtual-env/virtual-env-edgeai/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 217, in run
        return self._sess.run(output_names, input_feed, run_options)
    onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Non-zero status code returned while running TIDL_0 node. Name:'TIDLExecutionProvider_TIDL_0_0' Status Message: TIDL Compute Invoke Failed.

    查询2:

    运行''python3 ./scripts/gen_test_report.py命令时、编译在以下日志中显示最后一个日志后停止。 之后必须按 CTRL+C 停止该过程。 否则、无论日志如何运行、流程都卡住了。

    (virtual-env-edgeai) admin@VM2502:~/jay/python-virtual-env/edgeai-tidl-tools$ python3 ./scripts/gen_test_report.py
    Command : python3 tflrt_delegate.py in Dir : examples/osrt_python/tfl Started
    Running 4 Models - ['cl-tfl-mobilenet_v1_1.0_224', 'ss-tfl-deeplabv3_mnv2_ade20k_float', 'od-tfl-ssd_mobilenet_v2_300_float', 'od-tfl-ssdlite_mobiledet_dsp_320x320_coco']
    
    INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
    INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
    INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
    
    Running_Model :  cl-tfl-mobilenet_v1_1.0_224
    
     ,  0  0.546822  warplane, military plane ,,  1  0.270634  missile ,,  2  0.165473  projectile, missile ,,  3  0.015031  aircraft carrier, carrier, flattop, attack aircraft carrier ,,  4  0.000821  submarine, pigboat, sub, U-boat ,
    
    Saving image to  ../../../output_images/
    
    Saving output tensor to  ../../../output_binaries/
    
    
    Completed_Model :     1, Name : cl-tfl-mobilenet_v1_1.0_224                       , Total time :      57.99, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output Image File : py_out_cl-tfl-mobilenet_v1_1.0_224_airshow.jpg, Output Bin File : py_out_cl-tfl-mobilenet_v1_1.0_224_airshow.bin
    
    
    INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
    
    Running_Model :  od-tfl-ssd_mobilenet_v2_300_float
    
    Saving image to  ../../../output_images/
    
    Saving output tensor to  ../../../output_binaries/
    
    
    Completed_Model :     3, Name : od-tfl-ssd_mobilenet_v2_300_float                 , Total time :     240.64, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output Image File : py_out_od-tfl-ssd_mobilenet_v2_300_float_ADE_val_00001801.jpg, Output Bin File : py_out_od-tfl-ssd_mobilenet_v2_300_float_ADE_val_00001801.bin
    
    
    
    Running_Model :  od-tfl-ssdlite_mobiledet_dsp_320x320_coco
    
    Saving image to  ../../../output_images/
    
    Saving output tensor to  ../../../output_binaries/
    
    
    Completed_Model :     4, Name : od-tfl-ssdlite_mobiledet_dsp_320x320_coco         , Total time :     280.72, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output Image File : py_out_od-tfl-ssdlite_mobiledet_dsp_320x320_coco_ADE_val_00001801.jpg, Output Bin File : py_out_od-tfl-ssdlite_mobiledet_dsp_320x320_coco_ADE_val_00001801.bin
    
    
    
    Running_Model :  ss-tfl-deeplabv3_mnv2_ade20k_float
    
    Saving image to  ../../../output_images/
    
    Saving output tensor to  ../../../output_binaries/
    
    
    Completed_Model :     2, Name : ss-tfl-deeplabv3_mnv2_ade20k_float                , Total time :     582.02, Offload Time :       0.00 , DDR RW MBs : 18446744073709.55, Output Image File : py_out_ss-tfl-deeplabv3_mnv2_ade20k_float_ADE_val_00001801.jpg, Output Bin File : py_out_ss-tfl-deeplabv3_mnv2_ade20k_float_ADE_val_00001801.bin
    
    
    Command : python3 onnxrt_ep.py in Dir : examples/osrt_python/ort Started
    Available execution providers :  ['TIDLExecutionProvider', 'TIDLCompilationProvider', 'CPUExecutionProvider']
    
    Running 2 Models - ['cl-ort-resnet18-v1', 'od-ort-ssd-lite_mobilenetv2_fpn']

    不确定、为什么执行命令 python3 ./scripts/gen_test_report.py""卡在这里。  

    Reese、请告诉我可以对这两个问题执行什么操作。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    好的、我们来看看这两个问题。

    问题1)
    source ./scripts/run_python_examples.sh编译和验证部分运行""时、出现以下错误。 我要附加从"source .quote"/scripts/run_python_examples.sh 命令生成的完整编译日志。

    然后是无法运行网络进行浮点->定点校准-每个网络都遇到这种情况、因此工具可能会出现问题。 我怀疑 tidl_tools 本身就是问题所在。 您能否向我展示以下内容:

    echo $TIDL_TOOLS_PATH
    ##printout for a path
    ls $TIDL_TOOLS_PATH
    ## series of files

    我有一种感觉、当您首次运行 setup.sh 时、它已为 GPU 后端下载 tidl_tools。 这些文件很可能仍然存在。 然后、当重新运行 setup.sh 时、系统发现已定义 tidl_tools_path、并且目录已存在、因此没有使用任何新内容进行覆盖。 这意味着您可能安装了 CPU 工具的所有依赖项、但下载的工具仍为 GPU  

    • 如果是这种情况、请取消设置该环境变量  TIDL_TOOLS_PATH 并删除它指向的目录、然后重新运行面向 CPU 的 setup.sh。
    问题2)
    [报价 userid="603086" url="~/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error/5687746 #5687746"]

    运行''python3 ./scripts/gen_test_report.py命令时、编译在以下日志中显示最后一个日志后停止。 之后必须按 CTRL+C 停止该过程。 否则、无论日志如何运行、流程都卡住了。

    [报价]

    这些脚本将尝试运行假定已经在 run_python_examples.sh 脚本中编译的模型。 由于尚未完成这一过程、因此未编译模型。  

    我预计这会失败、但没想到它会挂起。 我无法在我这边重现此情况。 如果这些模型的模型工件不存在、 则应该会立即无法初始化模型并回退 CPU

    我认为、如果我们在仍在安装(假设) GPU 与 CPU 工具的情况下修复 Q1、这也会解决问题。 如果问题解决后问题仍然存在、让我们回到这个问题。  

    BR、

    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:  

    感谢您的答复。

    [报价 userid="360457" url="~/support/processors-group/processors/f/processors-forum/1476989/am62a7-compiling-edgeai-tidl-tools-getting-error/5694375 #5694375"]

    然后是无法运行网络进行浮点->定点校准-每个网络都遇到这种情况、因此工具可能会出现问题。 我怀疑 tidl_tools 本身就是问题所在。 您能否向我展示以下内容:

    全屏
    1.
    2.
    3.
    4.
    回显$TIDL_TOOLS_PATH
    ##路径的打印输出
    LS $TIDL_TOOLS_PATH
    ##个文件系列
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    [报价]

    上述 echo 和 ls 命令的输出如下所示:

    (python-virtual-environment) admin@VM139:~/JayK/edgeai-sdk/edgeai-tidl-tools$ echo $TIDL_TOOLS_PATH
    /home/admin/JayK/edgeai-sdk/edgeai-tidl-tools/tools/AM62A/tidl_tools
    (python-virtual-environment) admin@VM139:~/JayK/edgeai-sdk/edgeai-tidl-tools$ ls -lrt $TIDL_TOOLS_PATH
    total 117640
    -rw-rw-r-- 1 admin admin      486 Feb 10 11:30 device_config.cfg
    -rw-rw-r-- 1 admin admin       51 Feb 10 11:47 version.txt
    -rw-rw-r-- 1 admin admin     6248 Feb 10 11:47 itvm_rt.h
    -rw-rw-r-- 1 admin admin    14073 Feb 10 11:47 itidl_rt.h
    -rwxrwxr-x 1 admin admin    62432 Feb 10 11:47 tidl_graphVisualiser_runtimes.out
    -rwxrwxr-x 1 admin admin   194032 Feb 10 11:47 tidl_graphVisualiser.out
    -rwxrwxr-x 1 admin admin  4907656 Feb 10 11:47 ti_cnnperfsim.out
    -rwxrwxr-x 1 admin admin 22657688 Feb 10 11:47 PC_dsp_test_dl_algo.out
    -rwxrwxr-x 1 admin admin 14829672 Feb 10 11:47 tidl_model_import.so
    -rwxrwxr-x 1 admin admin 15222864 Feb 10 11:47 tidl_model_import_relay.so
    -rwxrwxr-x 1 admin admin 15286384 Feb 10 11:48 tidl_model_import_tflite.so
    -rwxrwxr-x 1 admin admin 15237440 Feb 10 11:48 tidl_model_import_onnx.so
    -rwxrwxr-x 1 admin admin    16840 Feb 10 11:48 tidl_model_secure.out
    -rwxrwxr-x 1 admin admin   117304 Feb 10 11:48 tidl_model_import.out
    -rwxrwxr-x 2 admin admin 15859472 Feb 10 11:48 libvx_tidl_rt.so.1.0
    -rwxrwxr-x 2 admin admin 15859472 Feb 10 11:48 libvx_tidl_rt.so
    -rwxrwxr-x 1 admin admin    46856 Feb 10 11:48 libtidl_tfl_delegate.so
    -rwxrwxr-x 1 admin admin   101944 Feb 10 11:48 libtidl_onnxrt_EP.so
    lrwxrwxrwx 1 admin admin       15 Mar  6 17:11 osrt_deps -> ../../osrt_deps
    (python-virtual-environment) admin@VM139:~/JayK/edgeai-sdk/edgeai-tidl-tools$

    当您第一次运行 setup.sh 时、我有一种感觉、它下载了用于 GPU 后端的 tidl_tools。 这些文件很可能仍然存在。 然后、当重新运行 setup.sh 时、系统发现已定义 tidl_tools_path、并且目录已存在、因此没有使用任何新内容进行覆盖。 这意味着您可能已为 CPU 工具安装了所有依赖项、但下载的工具仍为 GPU [/报价]

    我也已完全删除了 edge-tidl-sdk 文件夹以及 python 虚拟环境。 之后我再次完成设置。 但我在中提到了同样的问题 问题1。  

    所以、Q2与 Q1相关。 因此、我尚未尝试 Q2、因为 Q1问题仍然存在。 我可以对此问题做些什么吗?

    Reagrds、

    Jay  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    好的,那么我关于安装 GPU 工具的假设很可能是错误的--你已经重新启动了一个干净的板材。

    因此您仍会看到以下问题行、如"[TIDL Import]错误:运行校准失败、系统命令返回错误:132 -[tidl_import_core.cpp、678]"、这表示您的计算机编译失败。 我认为我们需要更深入地了解为什么这是失败的-我以前没有遇到过这个错误。  

    我们将深入研究并直接运行这些脚本调用的应用程序、而不是从 edgeai-tidl-tools/scripts 运行。 尝试以下操作:

    cat $TIDL_TOOLS_PATH/version.txt #share this, please
    cd edgeai-tidl-tools/examples/osrt_python
    vim common_utils.py # or your favorite editor

    将 common_utils.py 中的 debug_level 参数修改为"2"、以便我们可以增加详细度

    cd tfl
    python3 ./tflrt_delegate.py -m cl-0000_tflitert_imagenet1k_mlperf_mobilenet_v1_1.0_224_tflite -c
    

    这将只编译我们之前尝试过的模型之一(mobilenetv1)。 这将使日志更易于跟踪。 请分享从中打印的内容。 它应该比以前要详细得多。

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:

    很抱歉我对该主题的较晚回复。 我被困在其他任务中

    好的、那么我关于安装 GPU 工具的假设很可能是错误的--您已重新启动了一个全新的版本。

    正如您在上几个线程中提到的、我不需要为 GPU 运行编译。 所以、我将使用 cpu 选项在 python 虚拟环境中编译此函数。

    您已重新启动全新版本。

    是的。 我已经删除了 GPU 选项的虚拟环境和 edgeai-tidl-tool 目录。

    "cat $TIDL_tools_path/version.txt"命令的输出

    (virtual-env-edgeai) admin@VM2502:~/jay/python-virtual-env/edgeai-tidl-tools$ cat $TIDL_TOOLS_PATH/version.txt
    SOC=am62a
    c093213417f7d4899f600d03a2ca22760e637220

    将 common_utils.py 中的 debug_level 参数修改为"2"、以便增加详细程度

    我已将用于调试的日志级别增加到"2"。 然后、我执行命令 "python3 ./python3 tflrt_delegate.py -m cl-0000_tflitert_imagenet1k_mlperf_mobilenet_v1_1.0_224_tflite -c" . 请检查以下文本文件中的输出日志。

    e2e.ti.com/.../debug_2D00_logs_2D00_enabled.txt

    请告诉我、我还需要满足任何其他要求。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:  

    嗯、好的、这很奇怪。 我在机器上设置了相同的工具、但看不到此类问题。

    让我从内部检查您可能看到"系统错误 132"的原因。 我会在接下来的几天内回复您。

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    感谢您的耐心。  

    系统错误132不是直接从 TIDL 工具传递的、因此很可能是由主机操作系统传递的。

    错误132可能意味着传递了致命信号、其中132 = 128 + SIG。 信号4是 SIGLL、也称为非法指令。  

    对我来说、这意味着用于量化的 TIDL 工具是为 x86编译的、因此它使用的指令在 CPU 中不受支持。 您能提供`cat /proc/cpuinfo`的输出吗?

    BR、

    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:  

    感谢您发送此邮件。 我已将其转发给开发团队进行分析。 请等待几天时间后再收到信息。  

    我现在唯一的建议是看看是否有一个替代的机器,你可以尝试同时.  

    我确实注意到您的 CPU 缺少 AVX (矢量指令)支持。 我知道这之前是必需的、但我们在去年的9.0 SDK 版本之前放宽了这种限制。  

    BR、
    Reese

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Reese:

    感谢您的答复。

    我已将其转发给开发团队以提供分析。 请等待几天时间后再收到信息。  [报价]

    如果开发团队有任何其他发现、请告诉我。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    处理线程的专家不在办公室。 期待下周回复。

    此致、

    Qutaiba

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    抱歉、尚未收到任何变通办法建议。  

    我在查找这个 CPU、但我感到惊讶的是它不显示可用的 AVX 指令。 英特尔6148 Gold 是2017年发布的版本、他们开始交付带有这些矢量扩展的 CPU。

     英特尔的产品页面 显示它包含多个 AVX 扩展(英特尔RegisteredSSE4.2、英特尔RegisteredAVX、英特尔RegisteredAVX2、英特尔RegisteredAVX-512)。 这不会反映在 Linux 的 CPU 信息中。 这很好奇。 我建议您查看这一点--它可以是 BIOS 或内核设置

    BR、
    Reese