高通AI应用程序开发2:Qualcomm 神经处理 SDK 设置

Linux 平台依赖项

主机操作系统

Qualcomm® 神经处理 SDK 已通过 Ubuntu 22.04 LTS (Focal) Linux 主机操作系统的验证。 Qualcomm® 神经处理 SDK 还经过验证,可在适用于 Linux 的 Windows 子系统 (WSL2) 环境版本 1.1.3.0 中运行。 但目前仅限于 Linux 主机可运行的工件,例如转换器、模型生成和运行工具。 要设置您自己的 WSL2 环境,请按照 Microsoft 在 https://learn.microsoft.com/en-us/windows/wsl/install 提供的说明进行操作。

Python

python3 支持 Qualcomm® 神经处理 SDK 发行版。 下载和安装说明因主机操作系统而异。SDK 已经过 python3.10 测试。 如果您的系统上尚未安装 python3.10,您可以使用以下命令安装它:

bash 复制代码
$ sudo apt-get update
$ sudo apt-get install python3.10 python3-distutils libpython3.10

虚拟环境 (VENV)

无论是管理多个 python 安装,还是只是为了保持系统 python 安装干净我们建议使用 Python 虚拟环境。

bash 复制代码
$ sudo apt-get install python3.10-venv
$ python3.10 -m venv "<PYTHON3.10_VENV_ROOT>"
$ source <PYTHON3.10_VENV_ROOT>/bin/activate

如果您的环境位于 WSL 中,则 <PYTHON3.10_VENV_ROOT> 必须位于 $HOME 下。

运行以下脚本以检查并安装缺少的依赖项:

bash 复制代码
$ python3 -m pip install --upgrade pip
$ ${SNPE_ROOT}/bin/check-python-dependency

要进行SNPE_ROOT设置,请参阅 Environment Setup for Linux。 3.5.0 的 Matplotlib 和 2.0.2 的 Pandas 已在 Windows 上得到验证

Linux

需要 Clang++ 来编译 x86_64 目标的工件。此 Qualcomm® 神经处理 SDK 版本经验证可与 Clang 14 配合使用。

运行以下脚本以检查并安装缺少的 Linux 依赖项:

bash 复制代码
# Note: Run the following command as administrator/root to install system libraries.

 $ sudo bash ${SNPE_ROOT}/bin/check-linux-dependency.sh

ML框架

要将在不同框架上训练的ML模型转换为Qualcomm®神经处理SDK可使用的中间表示,您可能需要在主机上下载并安装相应的框架。

此Qualcomm®神经处理SDK版本经验证可与以下版本的ML训练框架一起使用:

  • TensorFlow: tf-2.10.1

  • TFLite: tflite-2.3.0

  • PyTorch: torch-1.13.1

  • ONNX: onnx-1.16.1

  • ONNX Runtime: onnxruntime-1.18.0

Qualcomm®神经处理SDK允许用户编译用户定义的操作包,以与CPU、GPU和DSP等运行时一起使用。您可能需要安装适当的交叉编译工具链,以便为特定后端编译此类包。

操作包是使用 makefile 编写的前端编译的。 如果 make 在您的主机上不可用,请使用以下命令进行安装

bash 复制代码
$ sudo apt-get install make

GCC 工具链

要构建 sample-app 以在具有基于 Yocto 的 OS 的设备上运行,需要 gcc 编译器。为了支持基于 Yocto Kirkstone 的设备, SDK 库使用 GCC-11.2 进行编译。以下部分以 Yocto Kirkstone 为例提供获取工具链的步骤。

如果您的系统 PATH 中没有所需的编译器,请使用以下步骤安装 依赖项,并使其在 PATH 中可用。

请按照 Qualcomm 构建指南生成包含交叉编译器工具链的 eSDK (qcom-wayland-x86_64-qcom-console-image-armv8-2a-qcm6490-toolchain-ext-0.0.sh) 构建示例应用程序时需要。

  1. 构建 eSDK 的步骤可在 My Account

    1.1. 构建 eSDK 后,qcom-wayland-x86_64-qcom-console-image-armv8-2a-qcm6490-toolchain-ext-0.0.sh将

    生成于 <WORKSPACE DIR>/build-qcom-wayland/tmp-glibc/deploy/sdk。

    1.2. 使用 ./qcom-wayland-x86_64-qcom-console-image-armv8-2a-qcm6490-toolchain-ext-0.0.sh 提取工具链

Android NDK:

此 Qualcomm® 神经处理 SDK 版本经验证可与 Android NDK 版本 r26c 配合使用。 可在 https://dl.google.com/android/repository/android-ndk-r26c-linux.zip 获得。 下载后,提取 zip 文件并将提取的位置添加到您的 PATH 环境变量中。

使用以下命令将环境设置为使用 Android NDK 并检查配置:

复制代码
$ export ANDROID_NDK_ROOT=<PATH-TO-NDK>
$ export PATH=${ANDROID_NDK_ROOT}:${PATH}
$ ${SNPE_ROOT}/bin/envcheck -n

Clang 14:

此 Qualcomm® 神经处理 SDK 版本经验证可与 Clang 14 配合使用。 请参阅 Environment Setup for Linux for Clang 安装。

要检查环境是否已正确设置以使用 clang-14,可以使用以下命令:

复制代码
$ ${SNPE_ROOT}/bin/envcheck -c

中央处理器: 用于 X86_64 的编译器是 clang 14。ARM CPU 目标是使用 Android NDK 构建的(请参阅 Android NDK)。

**显卡:**GPU 后端内核基于 OpenCL 编写。 GPU 操作必须基于 OpenCL 版本 1.2 或更高版本的 OpenCL 标头实现。

**DSP:**针对 DSP 进行编译需要使用 Qualcomm® Hexagon SDK 中提供的 Hexagon 工具链。

更多的设置说明可以在$HEXAGON_SDK_ROOT/docs/readme.html上找到,其中HEXAGON-SDK_ROOT是HEXAGON SDK安装的位置。

Linux 上的 Hexagon SDK 安装

Java

需要Java环境将Qualcomm®神经处理SDK与Android应用程序(例如图像分类器)集成。此Qualcomm®神经处理SDK版本经验证可与Java 8配合使用。如果您的主机上没有Java 8,请使用以下命令安装它:

bash 复制代码
$ sudo apt-get install openjdk-8-jdk

环境设置

Linux的

满足 Linux 平台依赖项后,用户 environment 可以使用提供的 envsetup.sh 脚本进行设置。

在 Linux 主机上打开命令 shell 并运行:

codeblock 复制代码
$ source ${SNPE_ROOT}/bin/envsetup.sh

这将设置/更新以下环境变量:

  • SNPE_ROOT

  • PYTHONPATH

  • 路径

  • LD_LIBRARY_PATH

${SNPE_ROOT}表示Qualcomm®神经处理SDK根的完整路径。

SNPE API标头以${SNPE_ROOT/include/SNP为单位。

这些工具位于${SNPE_ROOT}/bin/x86_64-linux-clang中。

目标特定库位于${SNPE_ROOT}/lib/*/中。

机器学习框架

有关 Qualcomm® 神经处理 SDK 经过哪些版本验证的信息,请参阅 ML 框架

使用 tensorflow · PyPI 将 TensorFlow 安装为独立的 Python 模块如果安装 tf-1.15.0,请参阅上面的 Python 3.6 安装部分。确保 TensorFlow 位于 PYTHONPATH 中。

bash 复制代码
python -c "import tensorflow"

使用 onnx · PyPI 将 ONNX 安装为独立的 Python 模块,并通过运行以下命令确保 ONNX 位于 PYTHONPATH 中:

复制代码
python -c "import onnx"

使用 onnxruntime · PyPI 将 ONNX 运行时安装为独立的 Python 模块,并通过运行以下命令确保 ONNX 运行时位于 PYTHONPATH 中。

复制代码
python -c "import onnxruntime"

使用 tflite · PyPI 将 TFLite 安装为独立的 Python 模块,并通过运行以下命令确保 TFLite 位于您的 PYTHONPATH 中:

复制代码
python -c "import tflite"

使用 Previous PyTorch Versions | PyTorch 将 PyTorch v1.13.1 安装为独立的 Python 模块,并通过运行以下命令确保 PyTorch 位于您的 PYTHONPATH 中:

复制代码
python -c "import torch"

参考网站:Snapdragon Neural Processing Engine SDK (qualcomm.com)

相关推荐
测试员周周14 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
K姐研究社16 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu16 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
传说故事17 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信17 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区17 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
小a彤18 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
前端若水18 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Upsy-Daisy18 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
企学宝18 小时前
企学宝5月专题课程丨《OpenClaw AI 智能体实战营:从零基础部署到全场景自动化落地》
人工智能·ai·企业培训