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.

[参考译文] TDA2EXEVM:TIDL 分层器类型问题(主机仿真模式)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654470/tda2exevm-tidl-layertype-issues-host-emulation-mode

器件型号:TDA2EXEVM

您好!

我尝试测试 TIDL 主机仿真模式、但发生了一些问题。 我的步骤如下:

1 主机仿真中的构建源(根据用户指南3.4.2)

  我在 ti_dl\test\out\路径中成功获得了两个***.out.exe 文件。  

  (实际上、当我开始编译时会出现一些错误、例如一些头文件丢失(例如 vcop_nnncs_bias 内核.h)、但我修复了这些错误、并获得了两个 exe 文件、没有错误)

2导入模式

  我从 github.com/tidsp/caffe-jacinto-models 克隆了 Caffe-Jacinto-models。  

  然后、使用导入工具对其进行了翻译:  

  ->...\ti_dl\utils\tidlModelImport > tidl_model_import.out.exe ..\test\testvecs\config\import\tidl_import_jseg21.txt

 日志的一部分如下所示:

(笑声)

数字输入:1.
检测到的层数:27.
0、TIDL_DataLayer、数据0、-1、1、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、1、3、 512、1024、0、
1、TIDL_BatchNormalLayer、data/bias 1、1、1、 0、x、x、x、x、 x、x、x、1、1、 3、512、1024、1、3、 512、1024、1572864、
2、TIDL_ConvolutionLayer、conv1a 1、1、1、 1、x、x、x、x、 x、x、x、2、1、 3、512、1024、1、32、 256、512、314572800、
3、TIDL_ConvolutionLayer、conv1b 1、1、1、 2、x、x、x、x、 x、x、x、3、1、 32、256、512、1、32、 128、256、301989888、
4、TIDL_ConvolutionLayer、res2a_branch2a 1、1、1、 3、x、x、x、x、 x、x、x、4、1、 32、128、256、1、64、 128、256、603979776、
5、TIDL_ConvolutionLayer、res2a_branch2b 1、1、1、 4、x、x、x、x、 x、x、x、5、1、 64、128、256、1、64、 64、128、301989888、
6、TIDL_ConvolutionLayer、res3a_branch2a 1、1、1、 5、x、x、x、x、 x、x、x、6、1、 64、64、128、1、128、 64、128、603979776、
7、TIDL_ConvolutionLayer、res3a_branch2b 1、1、1、 6、x、x、x、x、 x、x、x、7、1、 128、64、128、1、128、 64、128、301989888、
8、TIDL_PoolingLayer、pool3 1、1、1、 7、x、x、x、x、 x、x、x、8、1、 128、64、128、1、128、 32、64、1048576、
9、TIDL_ConvolutionLayer、res4a_branch2a 1、1、1、 8、x、x、x、x、 x、x、x、9、1、 128、32、64、1、256、 32、64、603979776、
10、TIDL_ConvolutionLayer、res4a_branch2b 1、1、1、 9、x、x、x、x、 x、x、x、10、1、 256、32、64、1、256、 32、64、301989888、
11、TIDL_PoolingLayer、pool4 1、1、1、 10、x、x、x、x、 x、x、x、11、1、 256、32、64、1、256、 32、64、524288、
12、TIDL_ConvolutionLayer、res5a_branch2a 1、1、1、 11、x、x、x、x、 x、x、x、12、1、 256、32、64、1、512、 32、64、2415919104、
13、TIDL_ConvolutionLayer、res5a_branch2b 1、1、1、 12、x、x、x、x、 x、x、x、13、1、 512、32、64、1、512、 32、64、1207959552、
14、TIDL_ConvolutionLayer、out5a 1、1、1、 13、x、x、x、x、 x、x、x、14、1、 512、32、64、1、64、 32、64、301989888、
15、TIDL_Deconv2DLayer、out5a_up2 1、1、1、 14、x、x、x、x、 x、x、x、15、1、 64、32、64、1、64、 64、128、2097152、
16、TIDL_ConvolutionLayer、out3a 1、1、1、 7、x、x、x、x、 x、x、x、16、1、 128、64、128、1、64、 64、128、301989888、
17、TIDL_EltWiseLayer、out3_Out5_combined 1、2、1、 15、16、x、x、x、 x、x、x、17、1、 64、64、128、1、64、 64、128、524288、
18、TIDL_ConvolutionLayer、ctx_CONV1 1、1、1、 17、x、x、x、x、 x、x、x、18、1、 64、64、128、1、64、 64、128、301989888、
19、TIDL_ConvolutionLayer、ctx_conv2 1、1、1、 18、x、x、x、x、 x、x、x、19、1、 64、64、128、1、64、 64、128、301989888、
20、TIDL_ConvolutionLayer、ctx_conv3 1、1、1、 19、x、x、x、x、 x、x、x、20、1、 64、64、128、1、64、 64、128、301989888、
21、TIDL_ConvolutionLayer、ctx_conv4 1、1、1、 20、x、x、x、x、 x、x、x、21、1、 64、64、128、1、64、 64、128、301989888、
22、TIDL_ConvolutionLayer、ctx_final 1、1、1、 21、x、x、x、x、 x、x、x、22、1、 64、64、128、1、8、 64、128、37748736、
23、TIDL_Deconv2DLayer、out_div_final_up2 1、1、1、 22、x、x、x、x、 x、x、x、23、1、 8、64、128、1、8、 128、256、1048576、
24、TIDL_Deconv2DLayer、out_decv_final_up4 1、1、1、 23、x、x、x、x、 x、x、x、24、1、 8、128、256、1、8、 256、512、4194304、
25、TIDL_Deconv2DLayer、out_div_final_up8 1、1、1、 24、x、x、x、x、 x、x、x、25、1、 8、256、512、1、8、 512、1024、16777216、
26、TIDL_ArgMaxLayer、argMaxOut 1、1、1、 25、x、x、x、x、 x、x、x、26、1、 8、512、1024、1、1、 512、1024、8388608、

 从这些日志中、我们可以知道模型有27层、每个层的类型。

我成功获取了 net 和 param bin 文件。

3正在运行  

我更改了默认的推测配置文件"infer\tidl_config_jseg21_tiscapes.txt"、将其与步骤2中生成的 bin 文件相关联

然后、我运行 exe 程序:

->...ti_dl\test\out>dsp_test_dl_algo.out.exe

失败的日志:

正在处理配置文件..\testvecs\config\infer\tidl_config_jseg21_tiscapes.txt!
0、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
1、TIDL_ReLULayer、1、512、1024、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、1、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 1、32、0、0、0、 1、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、1、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、1、2、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、26380、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、1、1、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、1、4、 0、0、1、64、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、64、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、41430、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、1、0、0、4、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 4、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 1、64、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、32、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、115、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、1、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 3、1、0、1、64、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 64、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、512、0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、4、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、2、0、 0、13、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、14、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、1、64、 0、0、0、1、0、 0、0、0、0、0、 0、0、0、0、0、 0、
2、TIDL_DataLayer、1、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
3、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
4、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
5、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
6、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
7、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
8、TIDL_DataLayer、8、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
9、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
10、TIDL_DataLayer、64、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
11、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
12、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
13、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
14、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
15、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
16、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
17、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
18、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
19、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
20、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
21、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
22、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
23、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
24、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
25、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
26、TIDL_DataLayer、0、0、0、 x、x、x、x、x、 x、x、x、0、0、 0、0、0、0、0、 0、0、
函数:test_ti_dl_ivison 的行:1491:位于文件..\src\tidl_tb.c 中时出错
找到配置列表的末尾!

我检查 了 tidl_tb.c 的第1491行、发现错误是 由 algAlloc 函数引起的。

从 tidl_alg.c 中的函数 tidl_alloc()中,我发现没有用于"Tidl_DataLayer"和"Tidl_ReLULayer" 的 aloAlloc 函数。

因此程序无法向前推进。

我认为问题可能是由 netBinFile 读取引起的? 因为步骤2和3中的图层类型完全不同。

第1层应该是 TIDL_BatchNormalLayer、而不是  TIDL_ReLULayer、第2层应该是 TIDL_ConvolutionLayer、而不是 TIDL_DataLayer?

我尝试将每个图层类型设置为“正确”值作为步骤2的日志,但程序在 TIDL_conv2DAlloc()处没有响应。  

我不知道如何解决此错误、请帮我解决、谢谢。

(SDK 版本为 processor_sdk_vision_03_01_00_00、TIDL 版本为 REL.TIDL.00.08.00.00)

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

    请尝试使用以下最新版本、
    SDK 03.02.00.00和 TIDL 01.00.00.00

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

    感谢你的答复。
    我刚刚安装了最新版本(SDK 03.02.00.00和 TIDL 01.00.00.00)、发现存在一些问题。
    我简单地比较了 TIDL 00.08和 TIDL 01.00、在01.00中、"ti_dl"文件夹下没有"algo "文件夹、而只是"lib"文件夹中的预构建库"tidl_algo .lib"。
    根据指南、为了生成主机仿真输出文件、我在 windows cmd:(我的 PC 为64位)中执行以下操作
    D:\processor_sdk_vision_03_02_00_00\ti_componations\al算法\REL.TIDL.01.00.00.00.00.00.00.00.00\modules\ti_dl\test>vcvarsall.lnk x64
    (二
    ** Visual Studio 2017开发人员命令提示符 v15.5.2.
    **版权所有(c) 2017 Microsoft Corporation
    (二
    [vcvarsall.bat]环境已初始化为'x64'

    D:\processor_sdk_vision_03_02_00_00\ti_componations\Algorithms\REL.TIDL.01.00.00.00.00.00.00.00.00\modules\ti_dl\test>gmake core=eve target_build=debug target_platform=PC
    编译.\src\tidl_image_preproc.c
    tidl_image_preproc.c
    编译.\src\tidl_tb.c
    tidl_tb.c
    正在编译.\src\tidl_config.c
    tidl_config.c
    编译.\src\report_utils.c
    报告实用程序.c
    正在编译....\..\common\configparser.c
    configparser.c
    正在编译....\common\ti_Draw utils.c
    TI_Draw 实用程序.c
    正在编译....\common\ti_mem_manager.c
    TI_mem_manager.c
    正在编译....\common\eve\eve_profile.c
    EVE_PROFILE.c
    正在编译....\..\common\eve\curve_ofing.c
    曲线拟合.c
    正在编译....\common\eve\ti_stats_collector.c
    TI_STATS_collector.c
    正在编译....\common\eve\cred.c
    cred.c.
    链接:致命错误 LNK1104:无法打开文件“../../ti_dl/lib/PC/eve/debug/tidl_algo.lib”
    D:/processor_sdk_vision_03_02_00_00/ti_compons/Algorithms/REL.TIDL.01.00.00.00.00.00.00.00.00.00.00.00.makerules/rules.mk:580:目标'outfile'的配方失败
    gmake:***[outfile]错误1104

    这意味着它需要"tidl_algo .lib"才能在 PC 中运行。 我的 thick 这是合理的、因为在 REL.TIDL.01.00.00.00.00.00.00.00.00.\modules\ti_dl\lib 中预构建的"tidl_algo .lib"可能用于在 TI 器件中运行、而不是在 PC 中运行。 如果我想托管 PC 仿真、我需要一个"PC 版本" tidl_algo .lib。 在编译 REL.TIDL.00.08.00.00时、我也遇到了此错误。 但我修复了这个问题、因为对于 TIDL.00.08.00.00、它具有"alGO" src 文件夹、然后我可以使"PC 版本" tidl_algo .lib、因此可以修复上面的错误。
    但对于 TIDL.01.00.00.00、再也没有"alGO" src 文件夹、因此我如何解决上述错误?
    谢谢~
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Xuanbo、  

    仅 SRC 版本支持主机仿真(PC)构建、因此请从以下 CDDS 链接下载 TIDL 源代码发布包、


    cdds.ext.ti.com/.../TIemxNavigator.jsp

    请下载 TIDLSRC.01.00.00.00版本并尝试?

    谢谢、
    Praveen

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

    它显示我没有 CDDS 用户帐户,并且无法登录....
    那么、您能帮我将 TIDLSRC.01.00.00.00发送到我的电子邮件(chenbo_19901209@163.com)吗?
    非常感谢~
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Xuanbo、

    如果您没有 CDDS 帐户、如何访问具有源代码的 TIDL 00.08.00.00版本?

    TI 仅通过 CDDS 共享 SRC 发行包。

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

    我从以下 URL 获取包含 SDK 的源代码:software-dl.ti.com/.../index_FDS.html、
    当版本为 processor_sdk_vision_03_01_00_00时、现在不是03_02。
    您可以尝试安装 processor_sdk_vision_03_01_00_00、它应具有 TIDL 源代码。

    但是、对于上述帖子中的问题、我认为这可能不是 SDK 版本的问题。 TIDL 01.00和 TIDL 00.08都应支持主机仿真模式、对吧? 那么、您能否运行 TIDL 主机仿真示例并告诉我运行结果或日志?

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

    您好 Xuanbo、

       到目前为止、仅源代码版本支持主机仿真模式。  TIDL 01.00在 processor_sdk_vision_03_02_00_00中提供、是仅针对对象的发布版本。 请与您的 TI 代表联系、以获取 TIDL 01.00源代码版本的访问权限。 我们计划在未来版本中为对象发布添加主机仿真支持、稍后将对此进行更新。

    注意: 在 processor_sdk_vision_03_01_00_00中提供的 TIDL 00.08是源代码版本。 我们不打算将其发布为 Vision SDK 的一部分。

    谢谢、Rgerads、

    Kumar.D

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

    感谢你的答复。 我将联系 TI 代表以获取 CDDS 帐户。 但我有点担心、即使我获得了 TIDL 01.00源文件、我在上述帖子中提到的问题也可能再次出现。 我现在拥有的 TIDL 00.08源代码版本也应该支持主机仿真模式。 但为什么它不起作用呢?
    顺便说一下、我还有一个关于 TIDL 用例的问题、它的配置是:
    InputFile=in.rgb
    OutputFile=out.bin
    netFileName=NET.bin
    paramFileName=PRM.bin
    如果我想检查图像段结果、如何打开"out.bin"文件? 以及如何打开输入文件"in.rg"?

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

    TIDL 00.08源代码版本在主机仿真中应该可以正常工作。 请尝试以下步骤进行调试。
    您能否尝试使用中的现有 NET.bin (tidl_net_jsegnet21v2.bin)和 prm.bin (tidl_param_jsegnet21v2.bin)
    软件包(请勿使用在步骤2中生成的文件)以在主机仿真中运行?
    您应该会看到类似这样的 EVE 主机仿真控制台输出。
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    C:\Praveen\REL.TIDL.00.08.00.00\modules\ti_dl\test\out>eve_test_dl_algo.out.exe

    正在处理配置文件..\testvecs\config\infer\tidl_config_jseg21_tiscapes.txt!
    TIDL_DataLayer 、0、-1、1、x、 x、x、x、x、x、 X、X、0、0、0、 0、0、1、3、512、 1024、
    1、TIDL_BatchNormalLayer 、1、1、0、 x、x、x、x、x、 X、X、1、1、3、 512、1024、1、3、512、 1024、
    2、TIDL_ConvolutionLayer ,1,1,1,1, x、x、x、x、x、 X、X、2、1、3、 512、1024、1、32、256、 512、
    3、TIDL_ConvolutionLayer 、1、1、2、 x、x、x、x、x、 X、X、3、1、32、 256、512、1、32、128、 256、
    4、TIDL_ConvolutionLayer ,1,1,3, x、x、x、x、x、 X、X、4、1、32、 128、256、1、64、128、 256、
    5、TIDL_ConvolutionLayer 、1、1、4、 x、x、x、x、x、 X、X、5、1、64、 128、256、1、64、64、 128、
    6、TIDL_ConvolutionLayer ,1,1,5, x、x、x、x、x、 X、X、6、1、64、 64、128、1、128、64、 128、
    7、TIDL_ConvolutionLayer ,1,1,6, x、x、x、x、x、 X、X、7、1、128、 64、128、1、128、64、 128、
    8、TIDL_PoolingLayer ,1,1,7, x、x、x、x、x、 X、X、8、1、128、 64、128、1、128、32、 64、
    9、TIDL_ConvolutionLayer ,1,1,8, x、x、x、x、x、 X、X、9、1、128、 32、64、1、256、32、 64、
    10、TIDL_ConvolutionLayer ,1,1,9, x、x、x、x、x、 X、X、10、1、256、 32、64、1、256、32、 64、
    11、TIDL_ConvolutionLayer ,1,1,10, x、x、x、x、x、 X、X、11、1、256、 32、64、1、512、32、 64、
    12、TIDL_ConvolutionLayer ,1,1,11, x、x、x、x、x、 X、X、12、1、512、 32、64、1、512、32、 64、
    13、TIDL_ConvolutionLayer ,1,1,12, x、x、x、x、x、 X、X、13、1、512、 32、64、1、64、32、 64、
    14、TIDL_Deconv2DLayer ,1,1,13, x、x、x、x、x、 X、X、14、1、64、 32、64、1、64、64、 128、
    15、TIDL_ConvolutionLayer ,1,1,7, x、x、x、x、x、 X、X、15、1、128、 64、128、1、64、64、 128、
    16、TIDL_EltWiseLayer 、1、2、1、14、 15、x、x、x、x、 x、x、16、1、64、 64、128、1、64、64、 128、
    17、TIDL_ConvolutionLayer ,1,1,16, x、x、x、x、x、 X、X、17、1、64、 64、128、1、64、64、 128、
    18、TIDL_ConvolutionLayer ,1,1,17, x、x、x、x、x、 X、X、18、1、64、 64、128、1、64、64、 128、
    19、TIDL_ConvolutionLayer ,1,1,18, x、x、x、x、x、 X、X、19、1、64、 64、128、1、64、64、 128、
    20、TIDL_ConvolutionLayer ,1,1,19, x、x、x、x、x、 X、X、20、1、64、 64、128、1、64、64、 128、
    21、TIDL_ConvolutionLayer ,1,1,20, x、x、x、x、x、 X、X、21、1、64、 64、128、1、8、64、 128、
    22、TIDL_Deconv2DLayer ,1,1,21, x、x、x、x、x、 X、X、22、1、8、 64、128、1、8、128、 256、
    23、TIDL_Deconv2DLayer ,1,1,22, x、x、x、x、x、 X、X、23、1、8、 128、256、1、8、256、 512、
    24、TIDL_Deconv2DLayer ,1,1,23, x、x、x、x、x、 X、X、24、1、8、 256、512、1、8、512、 1024、
    25、TIDL_ArgMaxLayer ,1,1,1,24, x、x、x、x、x、 X、X、25、1、8、 512、1024、1、1、512、 1024、
    26、TIDL_DataLayer 0、1、-1、25、 x、x、x、x、x、 X、X、0、1、1、 512、1024、0、0、0、 0、
    层 ID、inBlkWidth、inBlkHeight、inBlkPitch、outBlkWidth、outBlkHeight、outBlkPitch、numInChs、numProceInChs、numLclInChs、numLclOutChs、numProcItrs、numAccItrs、numHorBlock numVe
    rBlock、inBlkChPitch、outBlkChPitc、alignOrnot
    2. 72. 72. 72. 32 32 32 3. 32 3. 1 8. 1 3. 16.
    8. 5184. 1024 1
    3. 40 34 40 32 32 32 8. 8. 8. 4. 8. 1 2. 16.
    8. 1360. 1024 1
    4. 40 34 40 32 32 32 32 64 32 6. 8. 1 6. 8.
    4. 1360. 1024 1
    5. 40 34 40 32 32 32 16. 16. 16. 6. 8. 1 3. 8.
    4. 1360. 1024 1
    6. 40 34 40 32 32 32 64 128 64 6. 8. 1 11. 4.
    2. 1360. 1024 1
    7. 40 34 40 32 32 32 32 32 32 6. 8. 1 6. 4.
    2. 1360. 1024 1
    9. 40 34 40 32 32 32 128 256 128 6. 8. 1 22. 2.
    1 1360. 1024 1
    10. 40 34 40 32 32 32 64 64 64 6. 8. 1 11. 2.
    1 1360. 1024 1
    11. 40 20. 40 32 16. 32 256 512 256 8. 8. 1 32 2.
    2. 800 512 1
    12. 40 36. 40 32 32 32 128 128 128 5. 8. 1 26 2.
    1 1440 1024 1
    13. 40 24 40 32 16. 32 256 32 256 8. 8. 1 32 2.
    2. 960 512 1
    15. 40 34 40 32 32 32 64 32 64 6. 8. 1 11. 4.
    2. 1360. 1024 1
    17. 40 34 40 32 32 32 64 64 64 6. 8. 1 11. 4.
    2. 1360. 1024 1
    18 40 40 40 32 32 32 64 64 64 5. 8. 1 13. 4.
    2. 1600 1024 1
    19. 40 40 40 32 32 32 64 64 64 5. 8. 1 13. 4.
    2. 1600 1024 1
    20. 40 40 40 32 32 32 64 64 64 5. 8. 1 13. 4.
    2. 1600 1024 1
    21. 40 34 40 32 32 32 64 8. 64 6. 8. 1 11. 4.
    2. 1360. 1024 1

    正在处理帧编号:0

    第1层:最大通过数:15301:15301输出 Q: 254、43861、TIDL_BatchNormalLayer、传递#MMACS = 1.57、 0.00、 1.57,稀疏度:0.00,100.00
    第2层:最大通过率:45516:45516输出 Q:17037,45694,TIDL_ConvolutionLayer,通过#MMACS = 314.57,106.95,121.63,稀疏度:61.33,66.00
    第3层:最大通过数:26380:26380输出量 Q: 9253、26483、TIDL_ConvolutionLayer、passed #MMACS = 301.99、43.65、56.10、sparsity:81.42、85.55
    第4层:最大通过数:15805:15805输出量:19640、15867、TIDL_ConvolutionLayer,通过数#MMACS = 603.98、90.47、107.48、稀疏度:82.20、85.02
    第5层:最大通过数:23724:23724输出数:15973、23817、TIDL_ConvolutionLayer、通过数#MMACS = 301.99、45.32、54.39、稀疏度:81.99、84.99
    第6层:最大通过数:26141:26141输出量:25216,26244,TIDL_ConvolutionLayer,通过数#MMACS = 603.98,87.53,103.91,稀疏度:82.80,85.51
    第7层:最大通过数:36301:36301输出量:16906、36443、TIDL_ConvolutionLayer,通过数#MMACS = 301.99、45.24、54.26、稀疏度:82.03、85.02
    第8层:TIDL_PoolingLayer, 通过#MMACS = 0.26、 0.00、 0.26,稀疏度:0.00,100.00
    第9层:最大通过数:34054:34054输出量:27046,34188,TIDL_ConvolutionLayer,通过数#MMACS = 603.98,63.08,76.36,稀疏度:87.36,89.56
    第10层:最大通过数:29109:29109输出数:26386,29223,TIDL_ConvolutionLayer,通过数#MMACS = 301.99,37.71,44.73,稀疏度:85.19,87.51
    第11层:最大通过数:25382:25382输出量:48297、25482、TIDL_ConvolutionLayer,通过数#MMACS = 2415.92、236.92、267.57、稀疏度:88.92、90.19
    第12层:最大通过数:44021:44021输出数:20854、44194、TIDL_ConvolutionLayer,通过数#MMACS = 1207.96、spar52、90.91、79.sity:92.47、93.42
    第13层:最大通过率:15106:15106输出 Q:19820,15165,TIDL_ConvolutionLayer,通过#MMACS = 301.99,26.19,31.71,稀疏度:89.50,91.33
    第14层:最大通过数:111148:111148输出数:23282、111584、TIDL_Deconv2DLayer、通过数#MMACS = 2.10、 0.00、 2.10,稀疏度:0.00,100.00
    第15层:最大通过数:32390:32390输出数:24461,32517,TIDL_ConvolutionLayer,通过数#MMACS = 301.99,43.33,52.49,稀疏度:82.62,85.65
    第16层:最大通过数:83656:83656输出 Q:19088、83984、TIDL_EltWiseLayer、 通过#MMACS = 1.05、 0.00、 1.05,稀疏度:0.00,100.00
    第17层:最大通过数:59828:59828输出数:18122,60063,TIDL_ConvolutionLayer,通过数#MMACS = 301.99,45.06,53.38,稀疏度:82.32,85.08
    第18层:最大通过率:47695:47695输出 Q:17427,47882,TIDL_ConvolutionLayer,通过#MMACS = 301.99,44.33,54.26,稀疏度:82.03,85.32
    第19层:最大通过率:50164:50164输出 Q:16652、50361、TIDL_ConvolutionLayer,通过#MMACS = 301.99、43.98、53.18、稀疏度:82.39、85.44
    第20层:最大通过数:52490:52490 out Q: 6355、52696、TIDL_ConvolutionLayer、传递#MMACS = 301.99、42.50、52.69、sparsity:82.55、85.93
    第21层:最大通过数:174032:174032输出量: 2706、174714、TIDL_ConvolutionLayer、passed #MMACS = 37.75、12.25、12.85、sparsity:65.97、67.56
    第22层:最大通过数:127777:127777输出数:Q: 2765、128278、TIDL_Deconv2DLayer、通过#MMACS = 1.05、 0.00、 1.05,稀疏度:0.00,100.00
    第23层:最大通过数:129441:129441输出 Q: 2789、129949、TIDL_Deconv2DLayer、通过#MMACS = 4.19、 0.00、 4.19稀疏度:0.00,100.00
    第24层:最大通过数:130049:130049 Out Q: 2800、130559、TIDL_Deconv2DLayer、通过#MMACS = 16.78、 0.00,16.78,稀疏度:0.00,100.00
    第25层:TIDL_ArgMaxLayer, 通过#MMACS = 4.19、 0.00、 4.19稀疏度:0.00,100.00
    找到配置列表的末尾!

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    有关如何打开"out.bin"文件(如果要检查图像段结果)的信息、请参阅以下主题:
    e2e.ti.com/.../637598

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

    感谢您的测试。 嗯、实际上、首先、我使用现有的 NET.bin 和 PRM.bin 测试主机仿真、但它失败了、出现了我在帖子中提到的错误。 然后、我尝试通过导入工具在步骤2中转换模式、但也失败了、并出现相同的错误。
    所以、我认为 net 和 param 文件是可以的。 我制作主机仿真 exe 文件的过程有问题。 以下是我的步骤(与用户指南略有不同)、请帮助您查找是否存在问题:
    我的 PC:Win 10系统;x64位
    1安装 Visual Studio
    我安装最新版本2017、然后按如下方式设置系统环境变量:
    路径:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\vc\Tools\MSVC\14.12.25827\bin\Hostx64\x64
    包括:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\vc\Tools\MSVC\14.12.25827\include
    C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt
    库:
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\vc\Tools\MSVC\14.12.25827\lib\x64
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\ucrt\x64
    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\x64

    2为 PC 制作 dmautils 库
    Rel.DMAUTILS.00.08.00.02\dmautils>make target_build=debug target_platform=PC core=eve
    在这里、我遇到错误"致命错误 LNK1112:模块机器类型'x64'与目标机器类型'x86'冲突"
    因此、我更改了 REL.DMAUTILS.00.08.00.02\makerules\rules.mk
    第162行:ARFLAGS:=/nologo /machine: x86至 ARFLAGS:=/nologo /machine: x64
    第580行:/nologo /machine: x86至/nologo /machine: x64
    链接错误已修复、然后我在"REL.DMAUTILS.00.08.00.02\dmautils\libs\PC\eve\debug\"路径下获得了 dmautils.lib

    3为 PC 制作算法库
    Rel.TIDL.00.08.00.00\modules\ti_dl\algo >使 target_build=debug target_platform=PC core=eve
    在这里,我遇到错误“vcop_cnn_spatialPooling_kernel.h No such file”(无此类文件)
    路径"REL.TIDL.00.08.00.00\modules\ti_dl\algo src\eve"下的所有 EVE 的 k 文件都缺少相关头文件。
    因此、我使用"VXLIB_CNN_maxPooling_2x2_skip2_i8s_o8s_cn.h"作为模板、并自行编写所有 h 文件。
    下面是我写的“vcop_ncsn_bias kernel.h”的内容:

    #ifndef VCOP_CNN_ BIAS 内核_H_
    #define VCOP_CNN_BIAS_kernel_H_ 1.

    #include "tidl_ALG_int.h"

    void vcop_ncs_bias _i8u_o8s

    (

    _vptr_uint8 InDataPtr、

    __vptr_int8 outDataPtr、

    带符号短整型 偏置、

    无符号短整型 blkH、

    无符号短整型 blkW、

    无符号短整型 InPitch、

    无符号短整型 outPitch、

    无符号短整型 outDataQ

    );

    void vcop_ncs_scale_i8u_o8u

    (

    _vptr_uint8 InDataPtr、

    _vptr_uint8 outDataPtr、

    无符号短标度、

    无符号短整型 blkH、

    无符号短整型 blkW、

    无符号短整型 InPitch、

    无符号短整型 outPitch、

    无符号短整型 outDataQ

    );

    #endif

    其他 h 文件几乎相同、只是相关函数的函数声明。
    然后、我将自己编写的所有 h 文件放在路径"REL.TIDL.00.08.00.00\modules\ti_dl\algo inc\"下
    然后、我在路径"REL.TIDL.00.08.00.00\modules\ti_dl\lib\PC\eve\debug"下获得了 tidl_algo .lib、没有错误。

    4生成主机仿真 exe 文件
    4.1 vcvarsall.bat
    我创建了一个快捷链接文件"vcvarsall.lnk"到"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Vc\Auxiliary\build\vcvarsall.bat"、并将链接文件放在路径"REL.TIDL.00.08.00.00.00.00.00.00\modules\ti_dl\test"下
    然后、运行它、我得到:

    D:\processor_sdk_vision_03_01_00_00\ti_componations\Algorithms\REL.TIDL.00.08.00.00.00\modules\ti_dl\test>vcvarsall.lnk x64
    (二
    ** Visual Studio 2017开发人员命令提示符 v15.5.2.
    **版权所有(c) 2017 Microsoft Corporation
    (二
    [vcvarsall.bat]环境已初始化为'x64'

    4.2构建 exe
    Rel.TIDL.00.08.00.00\modules\ti_dl\test>gmake core=eve target_build=debug target_platform=PC
    在这里、我看到错误"Fatal error LNK1112:module machine type 'x64' conflicts with target machine type 'x86"、这与步骤2相同。
    就像步骤2一样、我通过将 REL.TIDL.00.08.00.00.00\makerules\rules.mk:"x86"更改为"x64"来修复此错误。
    最后、我在路径"REL.TIDL.00.08.00.00\modules\ti_dl\test\out\"下获得了"eve_test_dl_algo.out.exe"文件、没有错误。

    如上所述、整个构建过程。 如您所见、有些"度量"未在《用户指南》中提及、但由我用于修复相关错误。 因此、请帮助我找出我的步骤中的问题所在。

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

    对于基于主机仿真的 EVE 构建、您无需编写"vcop_ncsn_spacing_kernel.h"文件、请按照以下步骤操作、您仅错过了步骤2、该步骤将生成这些所需的头文件...

    请注意、在运行这些 stpes 之前、我已经为 PC 和 TI 器件预先构建了 dmautils 库...
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    步骤1:设置 PC 构建所需的环境变量、如下所示。
    C:\Praveen\Share\TIDL_00_08\REL.TIDL.00.08.00.00\modules\ti_dl>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    步骤2:首先为 TI 器件构建 EVE 可执行文件、该可执行文件将生成缺失的"vcop_ncsn_spacialPooling_kernel.h"头文件。
    您无需编写这些文件、编译器将自动生成这些文件。 这是构建中缺失的步骤。
    此外、请注意、您可能会在末尾看到一些链接时间错误、因为您没有用于 EVE TI 器件目标的预构建 dmautils 库、您可以在 PC 构建时忽略此错误。

    C:\Praveen\Share\TIDL_00_08\REL.TIDL.00.08.00.00\modules\ti_dl>gmake core=eve

    =========== tidl 算法=========================
    gmake -C ./algo -f makefile
    gmake[1]:输入目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/algo
    正在编译.\src\eve\vcop_ncs_argmax_kernel.k
    三、会议的报告
    三、会议的报告
    =>新存档'..\lib\eve\release\tidl_algo .lib'
    =>构建存档'..\lib\eve\release\tidl_algo .lib'
    gmake[1]:离开目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/algo

    =========== tidl 测试===================
    gmake -C ./test -f makefile
    gmake[1]:输入目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/test
    编译.\src\report_utils.c
    三、会议的报告
    三、会议的报告
    gmake[1]:离开目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/test

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    步骤3:现在构建用于主机仿真的 EVE 目标、因为在步骤2中生成了所需的头文件("vcop_ncsn_spacialPooling_kernel.h")

    C:\Praveen\Share\TIDL_00_08\REL.TIDL.00.08.00.00\modules\ti_dl>gmake target_platform=PC target_build=debug core=eve

    =========== tidl 算法=========================
    gmake -C ./algo -f makefile
    gmake[1]:输入目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/algo
    编译.\src\tidl_alg.c
    ……………
    ……………
    链接.\lib\PC\eve\debug\tidl_algo
    gmake[1]:离开目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/algo

    =========== tidl 测试===================
    gmake -C ./test -f makefile
    gmake[1]:输入目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/test
    编译.\src\report_utils.c
    三、会议的报告
    三、会议的报告
    gmake[1]:离开目录`C:/Praveen/Share/TIDL_00_08/REL.TIDL.00.08.00.00/modules/ti_dl/test

    C:\Praveen\Share\TIDL_00_08\REL.TIDL.00.08.00.00\modules\ti_dl>

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    希望通过这些步骤、您可以构建 EVE 目标主机仿真。
    对于 DSP,软件包中缺少一些较新的文件("VXLIB_CNN_maxPooling_2x2_skip2_i8s_o8s_cn.h"),我们在后续版本中添加了这些文件。 因此、我建议您先尝试 EVE。

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

    感谢你的建议。 "vcop_ncsn_spacialPooling_kernel.h"头文件现在可以自动生成、我使用这些头文件来编译最终的 EVE exe 文件。 但是、遗憾的是、它仍然无法正常工作...

    但有一个好消息说我解决了这个问题!!! 导致图层类型错误的真正原因是"x64"配置。
    根据"tidl_tb.c":

    int32_t tidl_readNet (sTIDL_Network_t * net、uint8_t * fileString)


    FREAD (net、1、(sizeof (sTIDL_Network_t))、fptr);




    int32_t test_ti_dl_ivison (空)


    tidl_readNet (createParams.net,params->netBinFile);)

    tidltb_printNetInfo (createParams.net,createParams.currLayersGroupId);



    我们可以发现该过程非常简单、netBinFile 将通过 fread 功能被读取到结构 sTIDL_Network_t 中。
    但在读取后、存储在结构 sTIDL_Network_t 中的信息(层类型)是错误的。 因此读取过程必须
    有一些问题。

    sTIDL_Network_t 的定义为:
    typedef 结构{
    int32_t numLayers;
    int32_t 加权元素大小;
    int32_t slopeElementSize;
    Int32_t 生物元素大小;
    int32_t dataElementSize;
    int32_t 元素大小;
    int32_t 量化样式;
    int32_t stripeOffsetMethod;
    int32_t 保留;
    sTIDL_Layer_t TIDLLayers[TIDL_NUM_MAX_LEVENTS];
    {sTIDL_Network_t;

    typedef 结构{
    sTIDL_LayerParams_t layerParams;
    int32_t layerType;
    int32_t numInBufs;
    int32_t numOutBufs;
    sTIDL_DataParams_t inData[TIDL_NUM_IN_BUfs];
    sTIDL_DataParams_t outData[TIDL_NUM_OUT_bufs];
    int32_t CoreID;
    int32_t layersGroupId;
    int32_t rumsElementSizeInBits;
    {sTIDL_Layer_t;

    重要的是使用的数据类型是 int32_t!!! 32位和64位机器之间的数据类型定义有一些差异、这通常会在使用 fread/fwrite 等函数时导致错误。 我猜 tidl_tb.c 的 tidl_readNet()函数可能不适用于64位计算机?

    因此、我将系统环境变量(Path 和 Lib)从 x64更改为 x86、并重新编译多个变量和算法库。 这次"Fatal error LNK1112:module machine type 'x64' conflicts with target machine type 'x86"不再发生。 我得到了 EVE exe 文件,并运行得很完美! 日志与您的日志相同。

    感谢您的始终帮助。

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

    感谢您的更新。 很高兴听到您在 EVE 主机仿真上使用了它。
    对于 DSP 主机仿真、请获取最新版本的 TIDL 源代码。

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

    如何解决此头文件错误:
    (实际上,当我开始编译时会出现一些错误,比如一些头文件丢失了(例如 vcop_ncsn_bias 内核.h),但我修复了这些错误,并得到了两个 exe 文件,没有错误)?
    我还在 PC 的 DSP 构建中遇到错误?
    缺少 VXLIB_cnn_maxPooling_2x2_skip2_i8s_o8s.h
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 SagarK

    这种方法已在 Praveen 的回答中提到、在该帖子的"2018年1月11日凌晨3:30 "中:
    "步骤2:首先为 TI 器件构建 EVE 可执行文件、该可执行文件将生成缺失的"vcop_ncsn_spacialPooling_kernel.h"头文件。"
    在"TIDeepLearningLibrary_UserGuide"的第15页中、有一句话说:
    "注意:在构建 HSOT 仿真构建之前、必须至少构建一次目标代码。 目标构建生成 HSOT 仿真构建所需的少量头文件"
    这意味着在进行主机仿真编译之前、您至少应针对目标模式进行一次编译、以便自动生成缺少的头文件。

    此致
    Xuanbo