onnx文件QNN部署

一、准备环境

1.linux配置qnn sdk

(1)下载qnn sdk

https://qpm.qualcomm.com/#/main/tools/details/qualcomm_ai_engine_direct

8346b681ce2748da892fa20e74ccbe3d.png

 

(2)下载qpm3

https://softwarecenter.qualcomm.com/#/catalog/item/3097f479-8993-11ea-9571-06074a401742

a57a4f88ddc045a1b959321001396e0b.png

 

(3)安装QPM:sudo dpkg -i QualcommPackageManager3.3.0.105.0.Linux-x86.deb

(4)登录QPM,用户名就是注册的邮箱

qpm-cli --login 邮箱

(5)激活要安装的软件license

qpm-cli --license-activate qualcomm_ai_engine_direct

(6)提取QNN SDK。SDK放在/opt/qcom/aistack/qnn/.

qpm-cli --extract qualcomm_ai_engine_direct.2.24.0.240626.Linux-AnyCPU.qik

dac57a484416409583ec1b5cf6341511.png

(7) (optional) 直接用qpm-cli去下载,而不需要从网页下载.qik文件。

qpm-cli --extract qualcomm_ai_engine_direct

(8) (optional) 查看可用的QNN版本号

qpm-cli --info qualcomm_ai_engine_direct

613fc5cec7b34983b19f371c59802794.png

(9)(optional) 下载特定版本的QNN SDK

qpm-cli --extract qualcomm_ai_engine_direct -v 2.24.0.240626

(10) 指定安装位置。

二、安装依赖

1.安装python依赖

python3 -m pip install --upgrade pip

chmod a+x qnn-v2.13.0/bin/check-python-dependency

./qnn-v2.13.0/bin/check-python-dependency

pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple

2.安装linux依赖

bash qnn-v2.13.0/bin/check-linux-dependency.sh

3.安装onnx

pip install onnx

4.设置QNN_SDK_ROOT, PYTHONPATH, PATH, LD_LIBRARY_PATH

source qnn-v2.13.0/bin/envsetup.sh

5. 检查是否配置成功

qnn-net-run --version

6.下载安装make, Android NDK version r25c.

apt install make
apt install wget unzip
wget https://dl.google.com/android/repository/android-ndk-r25c-linux.zip
unzip android-ndk-r25c-linux.zip

设置环境变量:

# export ANDROID_NDK_ROOT=<PATH-TO-NDK>
export ANDROID_NDK_ROOT=<PATH-TO-NDK>
export PATH=${ANDROID_NDK_ROOT}:${PATH}

7. 检查环境是否配置完成

chmod a+x ${QNN_SDK_ROOT}/bin/envcheck
 ${QNN_SDK_ROOT}/bin/envcheck -a

ae1c3babc9204da3bf254360cbfcf4a2.png

到目前为止,我们的Linux QNN SDK最基本的配置完成了。

 

 

### AISHub 和 QNN 技术文档或教程 AISHub 是 Qualcomm 提供的一个平台,用于支持开发者更高效地部署人工智能模型到基于 Qualcomm 芯片的设备上。而 QNN(Qualcomm Neural Network)作为 Qualcomm AI Engine 的一部分,提供了强大的工具链来优化和运行神经网络模型。 以下是关于 AISHub 和 QNN 的一些重要技术和资源信息: #### 1. **QNN-MO-PYNQ 开源项目** 该项目提供了一个开源框架,帮助开发人员更容易地将机器学习模型移植到 PYNQ 平台上并利用 QNN 进行加速[^1]。通过此项目,可以了解如何配置环境以及集成 Qualcomm AI 工具链到现有工作流中。 #### 2. **简化代码结构与逻辑** 为了使复杂的 QNN Demo 更易于理解,许多开发者会对其进行二次封装以适配个人需求[^2]。这种做法不仅提高了可读性,还增强了项目的灵活性,使得初学者能够更快地上手。 #### 3. **CSDN 社区中的中文资料** 对于希望深入研究 QNN 使用方法的人群来说,CSDN 上由社区贡献者翻译整理的手册是非常宝贵的参考资料[^3]。这些文档涵盖了从基础概念到高级特性的全面讲解,并配有实例演示,非常适合不同层次的学习者查阅。 #### 示例代码片段展示如何加载模型至 QNN 中: ```cpp #include "qnn.h" int main() { // 初始化 QNN 实例 qnn::Runtime runtime; // 加载预训练好的 DNN 模型文件 std::shared_ptr<qnn::Model> model = runtime.load_model("path/to/model.qnn"); if (!model) { printf("Failed to load the model.\n"); return -1; } // 设置输入张量数据 auto input_tensor = model->get_input(0); float* data = new float[input_tensor.size()]; memset(data, 0, sizeof(float)*input_tensor.size()); // 执行推理操作 model->set_input(0, data); model->execute(); delete[] data; return 0; } ``` 以上代码展示了基本流程:创建 `qnn` 对象、加载 `.qnn` 文件格式的深度学习模型、准备输入数据并向其传递参数最后调用执行函数完成预测过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值