我用snpe-dlc-viwer查看一个量化后的模型,发现这个模型的output encoding最小是0,最大是255。这个模型量化前的输入应该归一化到[-1,1]之间,是量化改变了输入节点的范围吗

云云云 2024-05-09 10:07:36

我用snpe-dlc-viwer查看一个量化后的模型,发现这个模型的output encoding最小是0,最大是255。这个模型量化前的输入应该归一化到[-1,1]之间,是量化改变了输入节点的范围吗?对于这个量化后的模型,我是不是应该使用int型的输入而不是float型的输入?

 

...全文
1430 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2024-05-09
  • 打赏
  • 举报
回复

如果您量化前的模型输入范围在[-1,1]之间,而量化后的output encoding在[0,255]之间,我认为这是量化错误。output encoding记录的是您所有量化数据中输入数据出现的最大值和最小值,而您量化数据的前处理应该和您未量化模型输入的前处理对齐。您应该检查您的量化数据集,对齐前处理(特别的,您应该将您量化数据集也归一化到[-1,1])后重新量化。量化后的模型也可以(或者是应该)使用float输入,量化/反量化的过程是snpe自动完成的,不论是userbuffer还是itensor,您只需要对齐前处理即可。

Snapdragon Neural Processing Engine (SNPE) 是 Qualcomm 提供的一套完整的解决方案,旨在优化和加速神经网络模型在 Qualcomm 骁龙(Snapdragon)移动平台上的运行。SNPE 支持多种神经网络框架,如 TensorFlow、Caffe、ONNX 等,并提供了高效的推理引擎和工具链,帮助开发者在移动设备上实现高性能的人工智能应用。 Snapdragon Neural Processing Engine (SNPE) 是由高通公司(Qualcomm)开发的一套软件开发工具包,其目的在于为开发者提供一系列优化和加速神经网络模型在高通骁龙移动平台上的运行能力。随着人工智能技术在移动设备上的普及和重要性的日益增加,SNPE成为了推动移动AI应用发展的关键工具。 SNPE支持多种流行的深度学习框架,包括但不限于TensorFlow、Caffe以及ONNX(开放神经网络交换格式),这使得开发者能够利用他们已有的模型和知识,将这些模型转换并部署在骁龙处理器上。这样的支持为开发者提供极大的便利,因为它们不必从零开始构建模型,而是可以在现有的成果基础上进行优化和调整。 SNPE的核心组件之一是其高效的推理引擎,推理引擎是深度学习模型执行向传播计算的部分,它负责处理输入数据并生成预测结果。在移动设备上运行复杂的神经网络模型时,高效的推理引擎是至关重要的,因为它能够确保应用运行流畅且电池消耗合理。 此外,SNPE还提供了一系列工具链,这些工具链包括模型转换工具、调试工具和性能分析工具,它们帮助开发者在模型转换、调试和优化等阶段中更有效地工作。例如,模型转换工具可以将特定框架的模型转换为SNPE可以识别和运行的格式,而性能分析工具则允许开发者了解模型在特定硬件上的运行效率,进而作出相应的调整。

4,634

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧