Qualcomm® AI Engine Direct 使用手册(2)
3. 设置3.1 Linux 平台依赖项3.2 Windows 平台依赖项
3. 设置
本页将概述使用 Qualcomm® AI Engine Direct SDK 所需的设置。 该页面分为 Linux 平台依赖项、Windows 平台依赖项 和 < /span>。环境设置
3.1 Linux 平台依赖项
主机操作系统
Qualcomm® AI Engine Direct SDK 验证的 Linux 主机操作系统是Ubuntu 20.04 LTS(焦点)。 Qualcomm® AI Engine Direct SDK 也经过验证,可在适用于 Linux 的 Windows 子系统 (WSL2) 中运行 环境版本 1.1.3.0,目前仅限于 Linux 主机可运行工件,例如转换器, 模型生成和运行工具(有关更多详细信息,请参阅工具)。如果您想设置自己的 WSL2 环境,可以按照 说明位于 https://learn.microsoft.com/en-us/windows/wsl/install。
Python
此 Qualcomm® AI Engine Direct SDK 分发版仅在 python3 上受支持。 下载和安装说明因主机操作系统而异。该SDK已使用python3.8进行测试。如果是python3.8 您的系统上尚未安装,您可以使用以下命令安装它:
$ sudo apt-get update$ sudo apt-get install python3.8 python3-distutils libpython3.8
对于计划安装 TensorFlow 1.15.0 的用户,需要 python3.6。您可以使用以下命令安装它 命令:
$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:deadsnakes/ppa$ sudo apt-get update$ sudo apt-get install python3.6 python3-distutils libpython3.6
虚拟环境(VENV)
无论是管理多个 python 安装还是只是为了保留系统 python 安装干净我们建议使用 python 虚拟环境。
$ sudo apt-get install python3.8-venv$ python3.8 -m venv "<PYTHON3.8_VENV_ROOT>"$ source <PYTHON3.8_VENV_ROOT>/bin/activate
如果您计划使用 TensorFlow 1.15.0,那么 python3.6 环境将是 需要改为:
$ sudo apt-get install python3.6-dev python3.6-venv$ python3.6 -m venv "<PYTHON3.6_VENV_ROOT>"$ source <PYTHON3.6_VENV_ROOT>/bin/activate
笔记
如果您的环境处于 WSL 中,则
附加套餐
您的环境中需要有一些额外的 python3 软件包,以便能够 与 Qualcomm® AI Engine Direct 组件和工具交互。 此 Qualcomm® AI Engine Direct 版本经过验证,可与下面指定的软件包版本配合使用:
包 | 版本 |
---|---|
绝对-py | 0.13.0 |
属性 | 22.2.0 |
短跑 | 2.12.1 |
装饰者 | 5.1.1 |
调用 | 2.0.0 |
作业库 | 1.0.1 |
json模式 | 4.19.0 |
lxml | 4.6.2 |
真子 | 1.1.0 |
绘图库 | 3.3.4 |
嘲笑 | 5.1.0 |
麻木 | 1.23.5(对于 python 3.6/tensorflow 1.15.0 为 1.18.5) |
OpenCV-Python | 4.5.2.52 |
奥普图纳 | 3.3.0 |
包装 | 21.0 |
熊猫 | 1.1.5 |
帕拉米科 | 3.3.1 |
路径库2 | 2.3.6 |
枕头 | 6.2.1 |
阴谋地 | 5.16.1 |
原始缓冲区 | 3.19.6 |
普苏蒂尔 | 5.9.5 |
py测试 | 7.0.1 |
PyYAML | 3.10 |
scikit 优化 | 0.9.0 |
scipy | 1.3.2 |
六 | 1.16.0 |
制表 | 0.8.5 |
打字扩展 | 4.6.2 |
XLSX作家 | 3.1.9 |
运行以下脚本来检查并安装缺少的依赖项:
$ python3 -m pip install --upgrade pip$ ${QNN_SDK_ROOT}/bin/check-python-dependency
笔记
要进行设置QNN_SDK_ROOT,请参阅Linux 环境设置。
Linux
编译 x86_64 目标的工件需要 clang++。 此 Qualcomm® AI Engine Direct SDK 版本经验证可与 clang-9 配合使用。
运行以下脚本来检查并安装缺少的 Linux 依赖项:
# Note: the following command should be run as administrator/root to be able to install system libraries$ sudo bash ${QNN_SDK_ROOT}/bin/check-linux-dependency.sh
笔记
要进行设置QNN_SDK_ROOT,请参阅Linux 环境设置。
机器学习框架
为了将在不同框架上训练的机器学习模型转换为中间表示 由 Qualcomm® 使用AI Engine Direct您可能需要在您的计算机上下载并安装相应的框架 主机。
此 Qualcomm® AI Engine Direct 版本经过验证,可与以下版本的 ML 训练框架配合使用。
TensorFlow: tf-1.15.0 或 tf-2.10.1
TFLite:tflite-2.3.0
PyTorch: torch-1.13.1
ONNX: onnx-1.11.0
工具链
Qualcomm®AI Engine Direct SDK 允许用户编译自定义操作包以与不同的应用程序一起使用 后端,例如 CPU、GPU、HTP、DSP 等。您可能需要安装适当的交叉编译 工具链以便为特定后端编译此类包。
制作
操作包由用Makefile编写的前端编译。如果使是 在您的主机上不可用,请使用以下命令安装它:
$ sudo apt-get install make
安卓NDK
此 Qualcomm® AI Engine Direct 版本经验证可与 Android NDK 版本 r25c 配合使用。同样可以从以下位置下载 https://dl.google.com/android/repository/android-ndk-r25c-linux.zip。下载并解压 zip 文件后, 提取的位置需要添加到PATH环境变量中。
要设置使用 Android NDK 的环境,可以使用以下命令来设置和检查正确的配置:
$ export ANDROID_NDK_ROOT=<PATH-TO-NDK>$ export PATH=${ANDROID_NDK_ROOT}:${PATH}$ ${QNN_SDK_ROOT}/bin/envcheck -n
笔记
如果您的环境是 WSL,则必须使用 WSL 的 unzip 命令将 Android NDK 解压到 $HOME 下。
clang-9
此 Qualcomm® AI Engine Direct 版本经验证可与 clang-9 配合使用。 请参阅Linux 依赖项部分以帮助安装该依赖项。
要检查环境是否设置正确以使用 clang-9,可以使用以下命令:
$ ${QNN_SDK_ROOT}/bin/envcheck -c
中央处理器
x86_64 目标是使用 clang-9 构建的(请参阅Linux 依赖项)。 ARM CPU 目标是使用 Android NDK 构建的(请参阅 Android NDK)。
图形处理器
GPU后端内核基于OpenCL编写。 GPU 操作必须基于 OpenCL 标头实现,最低版本为 OpenCL 1.2。
HTP/DSP
HTP/DSP 编译需要使用 Qualcomm® Hexagon SDK 提供的 Hexagon 工具链。
Linux 上的 Hexagon SDK 安装
Hexagon SDK 版本可从以下位置获取:https://developer.qualcomm.com/software/hexagon-dsp-sdk/tools。WSL2 20.04 上的 Hexagon SDK 安装
在 Linux PC 中从 https://qpm.qualcomm.com 下载 Hexagon SDK。
将 Hexagon SDK 从 Linux PC 复制到 Windows PC。
此 Qualcomm® AI Engine Direct 版本经验证可用于:
后端 | Hexagon 架构 | Hexagon SDK版本 | Hexagon工具版本 |
---|---|---|---|
HTP | V73 | 5.0.0 | 2002年8月6日 |
HTP | V69 | 4.3.0 | 03.5.8 |
HTP | V68 | 4.2.0 | 2009年4月8日 |
数字信号处理器 | V66 | 4.1.0 | 06年4月8日 |
数字信号处理器 | V65 | 3.5.2 | 2007年3月8日 |
此外,编译 HTP/DSP 需要 clang++。
更多设置说明请访问$HEXAGON_SDK_ROOT/docs/readme.html,其中 HEXAGON_SDK_ROOT 是 Hexagon SDK 安装位置。
笔记
Hexagon SDK 工具版本 8.4.09/8.4.06/8.3.07 目前未预打包到 Hexagon SDK版本分别为4.2.0/4.1.0/3.5.2。需要单独下载并放置 位于 $HEXAGON_SDK_ROOT/tools/HEXAGON_Tools/ 位置。
3.2 Windows 平台依赖项
主机操作系统
Qualcomm® AI Engine Direct SDK 已通过 Windows 10 验证 和 Windows 11 x86 主机平台上的操作系统以及Windows 11 Snapdragon 平台上的操作系统。
Python
此 Qualcomm® AI Engine Direct SDK 分发版仅在 python3 上受支持。 该SDK已使用python3.8进行测试。 请使用https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe.
安装后,通过在PowerShell终端窗口中运行以下脚本来检查依赖关系。
$ py -3.8 -m venv "<PYTHON3.8_VENV_ROOT>"$ & "<PYTHON3.8_VENV_ROOT>\Scripts\Activate.ps1"$ python -m pip install --upgrade pip$ python "${QNN_SDK_ROOT}\bin\check-python-dependency"
如果您计划使用 TensorFlow 1.15.0,请下载 python3.6: https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe
安装后,如上所述,通过在 PowerShell 终端窗口中运行以下脚本来检查依赖关系。
$ py -3.6 -m venv "<PYTHON3.6_VENV_ROOT>"$ & "<PYTHON3.6_VENV_ROOT>\Scripts\Activate.ps1"$ python -m pip install --upgrade pip$ python "${QNN_SDK_ROOT}\bin\check-python-dependency"
笔记
您可以按照Windows 环境设置设置QNN_SDK_ROOT环境变量。
视窗
编译 Windows 目标的工件需要Visual Studio 设置。 Qualcomm® AI Engine Direct SDK 已使用以下构建环境进行验证。
视觉工作室 2022 17.5.1
MSVC v143 - VS 2022 C++ x64/x86 构建工具 - 14.34
MSVC v143 - VS 2022 C++ ARM64/ARM64EC 构建工具 - 14.34
Windows SDK 10.0.22621.0
MSBuild 对 LLVM (clang-cl) 工具集的支持
适用于 Windows 的 C++ Clang 编译器 (15.0.1)
适用于 Windows 的 C++ CMake 工具
以管理员身份在 Powershell 终端中运行以下脚本管理员以检查并安装缺少的 Windows 依赖项:
$ & "${QNN_SDK_ROOT}/bin/check-windows-dependency.ps1"
笔记
您可以按照Windows 环境设置设置QNN_SDK_ROOT环境变量。
要检查环境是否满足要求,请在开发者 Powershell 终端中运行以下命令:
$ & "${QNN_SDK_ROOT}/bin/envcheck.ps1" -m