QNN-MO-PYNQ 项目安装和配置指南
QNN-MO-PYNQ 项目地址: https://gitcode.com/gh_mirrors/qn/QNN-MO-PYNQ
1. 项目基础介绍和主要的编程语言
项目基础介绍
QNN-MO-PYNQ 是一个基于 PYNQ 框架的开源项目,由 Xilinx 开发。该项目旨在利用 PYNQ 的可编程逻辑(PL)和处理系统(PS)资源,实现高效的神经网络推理。通过 QNN-MO-PYNQ,用户可以轻松地在 PYNQ 板上运行量化神经网络(QNN),并利用硬件加速提高推理性能。
主要的编程语言
该项目主要使用 Python 进行开发和配置,同时也涉及到 C++ 和 Tcl 用于硬件设计和驱动编写。
2. 项目使用的关键技术和框架
关键技术
- PYNQ 框架:PYNQ 是一个基于 Python 的框架,允许用户在 Xilinx Zynq SoC 上使用 Python 进行硬件加速应用的开发。
- 量化神经网络(QNN):QNN 是一种通过量化权重和激活值来减少计算复杂度和存储需求的神经网络。
- Vivado HLS:用于高层次综合,将 C/C++ 代码转换为硬件描述语言(HDL)。
- Vivado Design Suite:用于硬件设计和验证的工具套件。
框架
- Multi-Layer Offload (MO) 架构:该项目使用 MO 架构,允许在可编程逻辑中执行卷积层和可选的最大池化层。
3. 项目安装和配置的准备工作和详细的安装步骤
准备工作
-
硬件要求:
- 支持 PYNQ 的开发板(如 PYNQ-Z1 或 PYNQ-Z2)。
- 开发板需要连接到互联网,以便下载依赖项。
-
软件要求:
- PYNQ 操作系统(建议版本 v2.3 及以上)。
- Vivado Design Suite(用于硬件设计重建,可选)。
详细的安装步骤
步骤 1:连接到 PYNQ 开发板
- 通过 SSH 或直接连接到 PYNQ 开发板的终端。
步骤 2:安装 QNN-MO-PYNQ 包
- 在终端中输入以下命令,安装 QNN-MO-PYNQ 包:
注意:安装过程可能需要 10 分钟左右,因为需要解决依赖关系并编译源代码。sudo pip3 install git+https://github.com/Xilinx/QNN-MO-PYNQ.git
步骤 3:验证安装
- 安装完成后,QNN 目录将自动创建在 Jupyter 主目录下。
- 打开 Jupyter Notebook,导航到 QNN 目录,运行提供的示例笔记本,验证安装是否成功。
步骤 4:(可选)硬件设计重建
-
如果需要重建硬件设计,请在安装了 Vivado Design Suite 的 Linux 机器上执行以下步骤:
- 克隆仓库:
git clone https://github.com/Xilinx/QNN-MO-PYNQ.git
- 进入克隆目录:
cd QNN-MO-PYNQ/qnn/src/network/
- 设置环境变量:
export XILINX_QNN_ROOT=/path/to/QNN-MO-PYNQ/qnn/src/
- 运行硬件构建脚本:
其中:./make-hw.sh [network] [platform] [mode]
network
可以是W1A2
或W1A3
。platform
可以是pynqz1-z2
或ultra96
。mode
可以是h
(启动 Vivado HLS 综合)、b
(启动 Vivado 项目)或a
(启动两者)。
- 克隆仓库:
-
构建完成后,将生成的比特流和 tcl 脚本复制到 PYNQ 板的相应目录中。
通过以上步骤,您应该能够成功安装和配置 QNN-MO-PYNQ 项目,并在 PYNQ 开发板上运行量化神经网络。
QNN-MO-PYNQ 项目地址: https://gitcode.com/gh_mirrors/qn/QNN-MO-PYNQ