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.

[参考译文] PROCESSOR-SDK-J722S:[TIDL]将默认 onnx/tflite 模型转换为 TIDL 格式失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1446870/processor-sdk-j722s-tidl-convert-default-onnx-tflite-model-to-tidl-format-fail

器件型号:PROCESSOR-SDK-J722S
主题中讨论的其他器件:AM69A

工具与软件:

嗨、团队:

TIDL 版本:10.00.08.00

SDK Linux 映像:10.00.00.08

我使用示例代码~/edgeai-tidl-tools/examples/jupyter_notebooks/custom-model-onnx.ipynb 和 custom-model-tflite.ipynb  将默认 model (onnx/tflite)文件转换为 TIDL 格式、

其中 /edgeai-tidl-tools/examples/jupyter_notebooks/models/public 提供了默认模型

但是我得到下面两个错误:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-------- Running Calibration in Float Mode to Collect Tensor Statistics --------
[=============================================================================] 100 %
------------------ Fixed-point Calibration Iteration [1 / 3]: ------------------
Illegal instruction (core dumped) ] 25 %
[TIDL Import] ERROR: Failed to run calibration pass, system command returned error: 33792 -- [tidl_import_core.cpp, 675]
[TIDL Import] ERROR: Failed to run Calibration - Failed in function: tidlRunQuantStatsTool -- [tidl_import_core.cpp, 1720]
[TIDL Import] [QUANTIZATION] ERROR: - Failed in function: TIDL_quantStatsFixedOrFloat -- [tidl_import_quantize.cpp, 3574]
[TIDL Import] [QUANTIZATION] ERROR: - Failed in function: TIDL_runIterativeCalibration -- [tidl_import_quantize.cpp, 3722]
[TIDL Import] [QUANTIZATION] ERROR: - Failed in function: TIDL_import_quantize -- [tidl_import_quantize.cpp, 4545]
[TIDL Import] ERROR: - Failed in function: TIDL_import_backend -- [tidl_import_core.cpp, 4139]
[TIDL Import] ERROR: - Failed in function: TIDL_runtimesPostProcessNet -- [tidl_runtimes_import_common.cpp, 1390]
tidl_tfLiteRtImport_delegate.cpp Invoke 647
100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:10<00:00, 2.56s/it]
******** WARNING ******* : Could not open custom-artifacts/tflite/mobilev1//allowedNode.txt for reading... Entire model will run on ARM without any delegation to TIDL !
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

请帮助我核实这一症状、

感谢您的帮助。

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

    您好!  

    您正在使用什么具体型号?

    Chris

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

    Chris、您好:

    我使用~/edgeai-tidl-tools/examples/jupyter_notebooks/models/public/onnx/resnet18_opset9.onnx  

    和  ~/edgeai-tidl-tools/examples/jupyter_notebooks/models/public/tflite/mobilenet_v1_1.0_224.onnx  

    以上模型是 TIDL (10.00.08.00)中的示例模型

    我想确认我的测试环境中没有 GPU 是否会影响该流程的结果?

    谢谢

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

    尊敬的 Ken:

    如果遇到间歇性故障、这表明 edgeai-tidl-tools/tidl_tools 存在问题。  某些内容可能安装不正确、或者 ENV var 设置不正确。  重新安装 tidl_tools:

    将 tidl_tools/目录移至另一个名称。

    确保已设置 SOC、例如"export SOC=AM69A"

    安装完成后、确保 正确设置 TIDL_TOOLS_PATH。  
    TIDL_TOOLS_PATH= /edgeai-tidl-tools/tidl_tools

    此外、是否可以尝试使用 OSRT-python 导入模型?

    为此、请转到 edgeai-tidl-tools/examples/osrt_python/ort 并编辑../models_config.py 以添加您的模型(只需复制一个类似的模型配置并将 model_path 设置为您的模型)。  例如:

    model_path = os.path.join ('/ /'、"obilenet_v2_toy_model.onnx")

    然后、在  edgeai-tidl-tools/examples/osrt_python/ort 中运行:

    python3 ./onnxrt_ep.py -c -m

    您的_model_name 将指定为 model_configs.py 中模型的第一个条目。  例如:

    " 您的模型名称 ":create_model_config (
    source=AttrDict (
    #model_url='file://home/a0194920local/10.0/edgeai-tidl-tools/models/public/mymodel.onnx、
    opt= True、
    infer_shape = True
    )、#set 为本地文件设置虚拟 URL
    preprocess=AttrDict (
    resize=448、
    CROP=224、
    DATA_LOADY="NCHW"、
    resize_with_pad=False、
    REVERSE_CHANNELS=False、
    )、
    Session=AttrDict (
    Session_name='onnxrt'、
    model_path = os.path.join ("cms/"/home/a0194920local、"obilenet_v2_TOY_model.onnx")、
    #model_path = os.path.join (models_base_path、"mymodel.onnx")、
    input_mean=[123.675,116116.28,103.53]、#confirmed by HQV
    Input_Scale =[0.017125、0.017507、0.017429]、#由 HQV 确认
    )、
    task_type="分类"、
    optional_options=AttrDict (
    #DEBUG_LEVEL= 3、
    Tensor_bits = 8、
    #"deny_list:layer_name":"/ original_model/backbone/arms.0/Mul"
    )、
    EXTRA_INFO=AttrDict (
    num_images=numImages、
    num_classs=3、
    #model_type="检测"
    #model_type='segmention'、
    )、
    )、

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

    尊敬的先生/女士:

    我尝试  python3 ./ onnxrt_ep.py 与默认模型,然后可以工作.

    我将尝试自定义模型。

    很抱歉,我有 一个问题:  

    如果我想生成输入类型为 uint8的转换模型、那么原始模型是否也必须具有输入类型 uint8?

    或者、我可以提供输入类型为 float 的原始模型、并利用转换工具将其转换为输入类型为 uint8的模型吗?

    感谢您的帮助。

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

     E2E 回复将因 TI 假日(圣诞节)而延迟。 感谢您的耐心。

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

    尊敬的 Ken:

    请使用您的新问题打开一个新问题。  这些线程是可搜索的、我们希望将它们保留在一个主题中。

    Chris