QNN:基于QNN+example重构之后的yolov8det部署

2024-09-01 17:44

本文主要是介绍QNN:基于QNN+example重构之后的yolov8det部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QNN是高通发布的神经网络推理引擎,是SNPE的升级版,其主要功能是:

完成从Pytorch/TensorFlow/Keras/Onnx等神经网络框架到高通计算平台的模型转换;
完成模型的低比特量化(int8),使其能够运行在高通神经网络芯片上;
提供测试工具(qnn-net-run),可以运行网络并保存输出;
提供测试工具(qnn-profile-viewer),可以进行FLOPS、参数量、每一层运行时间等分析;

Qualcomm® AI Engine Direct 架构采用模块化设计,可实现软件中的清晰分离 对于不同的硬件核心/加速器,例如 CPU、GPU 和 DSP,指定为 后端。了解有关 Qualcomm® 的更多信息AI Engine Direct后端此处。

针对不同硬件核心/加速器的 Qualcomm® AI Engine Direct 后端被编译为 与 SDK 一起打包的各个特定于核心的库。

跨 IP 核的统一 API

Qualcomm® 的主要亮点之一AI Engine Direct 是它提供了统一的 API 来委托操作 例如跨所有硬件加速器后端的图形创建和执行。这允许用户 将 Qualcomm® AI Engine Direct 视为硬件抽象 API,并将应用程序轻松移植到不同的内核。

正确的抽象级别

Qualcomm® AI Engine Direct API 旨在支持高效的执行模型 具有内部处理的图形优化等功能。 但与此同时,它遗漏了更广泛的功能,例如模型解析和 网络分区到更高级别的框架。

组合的灵活性

借助 Qualcomm® AI Engine Direct,用户可以在后端提供的功能之间进行适当的权衡 以及库大小和内存利用率方面的占用空间。这提供了以下能力: 构建 Qualcomm® AI Engine Direct 操作包,仅包含服务一组模型所需的操作 以用例为目标1。有了这个,用户可以创建灵活的应用程序 内存占用低,适合各种硬件产品。

可扩展的运营支持

Qualcomm® AI Engine Direct 还为客户集成自定义操作以无缝协作提供支持 内置操作。

提高执行性能

凭借优化的网络加载和异步执行支持 Qualcomm®AI Engine Direct 可提供高度 机器学习框架和应用程序加载和执行网络图的高效接口 他们想要的硬件加速器。。

我们主要将QNN重新封装一下完成合适与自己的代码结构与逻辑。因为本身的QNN demo看着太复杂了。

重构之后如下图所示:

输出结果:

这篇关于QNN:基于QNN+example重构之后的yolov8det部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127620

相关文章

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.