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 ModelMaker:r9.1 VerifyOutputSizes 错误

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1362893/am62a7-edgeai-modelmaker-r9-1-verifyoutputsizes-error

器件型号:AM62A7

您好!

我将创建一个定制电路板、并在 SDK 9.0中使用 EdgeAI ModelMaker Repo R9.0对对象检测模型进行原型设计。 我能够顺利地培训每个 YOLO 模型并进行部署。 为了解决一些不相关的驱动程序问题、几周前我必须升级到 SDK 9.1.7版。 我刚刚切换到了 EdgeAI ModelMaker 的正确分支(r9.1),现在在运行推理时出现此问题:

2022年04月30日19:59:53.738820485 [W:onnxruntime:、execution_frame.cc:835 VerifyOutputSizes]来自{-1}模型的预期形状与输出标签的{1、1、1、11200}实际形状不匹配
2022年04月30日19:59:53.749074035 [W:onnxruntime:、execution_frame.cc:835 VerifyOutputSizes]来自{-1、5}模型的预期形状与输出设计的实际形状{1、1、1200、5}不匹配

如果我禁用 TIDL 执行、模型在 CPU 上运行缓慢、没有错误。 这似乎指向编译/人工制品作为问题。 如果我从 allowedNode.txt (283、我认为)中删除输出节点、它也可以正常运行-速度太慢了、不符合我的要求。  

输出形状打印为:
NodeArg(name='dets',type='tensor (float)',shape =['Concat1482_dim_0',5])。 参考层的尺寸似乎未正确填充。  

我将 tarball 附加为 modelMaker 的输出。 如果您对正在发生的事情有任何想法、我将非常感谢您的帮助。  

谢谢!

e2e.ti.com/.../od_2D00_8270.tar.gz

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

    尊敬的 Derek:

    这看起来是来自 onnxruntime 的警告。 输出结果应该仍然可用——您能否确认您可以从网络检索输出并且结果是否合理?

    我将详细说明您收到此警告的原因:

    实际情况是 ONNX 试图推断它应该在网络输出端得到什么样的张量形状——-1意味着它实际上并不知道这些尺寸中的一个(即检测次数)。 由于物体检测头的性质、静态分析将从模型检测到多少输出并不是特别可行-这是由于非最大抑制。 低于特定置信阈值的输出结果不会显示在输出中。

    在我们的深度学习软件中、我们需要静态设置所有张量维度、这样我们就可以做出正确的数据移动决策(包括 DMA 和高速缓存)。 我们的实际选择是给输出检测的数量分配一个值--这个默认值为200。 该选项在模型编译/导入加速器架构时应用(训练后)。 有一个描述 OD 头的 prototxt 文件、该文件设定参数、包括 NMS 阈值和要保留的结果数。 请参阅此处的链接:

    只要你得到现实的输出,你就不需要把这视为一个问题。 如果需要、也可以在 onxruntime 使用 log_severity_level 来抑制该警告。

    Br、
    雷塞

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

    尊敬的 Reese:

    是的、看起来我可以获得输出。 我将尝试抑制日志、这是我的主要问题-它 使我的串行访问变得非常无用。