AI软件
本页面提供了在树莓派 5 上运行由 Hailo NPU 驱动的 AI 模型的说明。Hailo NPU 是一款专为运行神经网络而设计的 AI 加速芯片;树莓派的 CPU 不再处理 AI 工作,而是由 NPU 更高效地处理。
您可以通过以下方式将 Hailo NPU 连接到树莓派 5:
- 树莓派 AI Kit,由 M.2 HAT+ 和预装的 Hailo-8L NPU 组成。
- 树莓派 AI HAT+,板载 Hailo-8L NPU 或 Hailo-8 NPU。
- 树莓派 AI HAT+ 2,板载 Hailo-10H NPU。
这三种选项都允许您在树莓派 5 上运行视觉 AI 模型。但是,AI Kit 已停产,因此对于新设计,我们建议使用 AI HAT+ 或 AI HAT+ 2。
AI HAT+ 2 还允许您运行生成式 AI(GenAI)模型。使用 AI HAT+ 2,您可以:
- 运行大语言模型(LLM)。如果您有 AI HAT+ 2 并想同时运行视觉 AI 模型和 LLM,请遵循两套说明:视觉 AI 模型 和 大语言模型。
- 运行视觉-语言模型(VLM)和其他 GenAI 任务。有关说明,请参阅 Hailo 的 GitHub 仓库:hailo-apps。
硬件前提条件
运行 AI 模型需要一台 树莓派 5,安装 64 位树莓派 OS(Trixie),以及以下 Hailo AI 加速器(NPU)选项之一:
- 树莓派 AI HAT+ 或 AI HAT+ 2(推荐),两者都有板载 Hailo 模块。有关这些配件的更多信息,请参阅 AI HAT+。
- 树莓派 AI Kit,包含预装 Hailo-8L AI 加速器的 M.2 HAT+。有关 AI Kit 的更多信息,请参阅 AI Kit。
AI Kit 已停产;对于新设计,我们建议使用 AI HAT+ 或 AI HAT+ 2。
如果您想运行视觉 AI 模型,还需要一个支持的摄像头,例如树莓派摄像头模块 3。我们建议在连接 AI 硬件之前先连接摄像头。有关说明,请参阅安装树莓派摄像头。跳过重新连接树莓派电源的步骤,因为下一步需要断开树莓派电源。
然后,根据您的 AI 硬件,按照连接 AI HAT(HAT+ 或 HAT+ 2)或 AI Kit 到树莓派 5 的说明操作。
接下来,按照软件前提条件中的说明启用 PCIe Gen 3.0(仅 AI Kit)、安装所需依赖项并验证一切设置正确。
软件前提条件
在树莓派 5 上运行视觉 AI 模型或 GenAI 模型之前,必须配置所需的软件。大致 包括以下任务,按顺序执行:
- 启用 PCIe Gen 3.0。手动配置 PCIe 接口,允许 Hailo NPU 以全速通信。这仅对 AI Kit 必需。
- 更新系统。确保您的树莓派 OS 软件包完全更新。
- 安装依赖项。安装必要的软件依赖项,使操作系统(OS)和应用程序能够检测、通信并在 Hailo NPU 上运行 AI 模型。
- 验证安装。验证您的 AI 硬件是否正确检测并准备就绪。
启用 PCIe Gen 3.0(仅 AI Kit)
如果您使用的是 AI Kit,我们强烈建议启用 PCIe Gen 3.0。AI HAT+ 和 AI HAT+ 2 可以跳过此步骤,因为该设置会自动应用。
默认情况下,树莓派 5 在其 PCIe 接口上使用 Gen 2.0(5 GT/s)速度。为了获得 NPU 的最佳性能,使用以下方法之一启用 Gen 3.0(8 GT/s)速度:
- 从配置命令行(CLI)工具(
raspi-config)在树莓派 5 上启用 Gen 3.0。 - 更新配置文件(
config.txt),使树莓派 5 上的 PCIe 接口以 PCIe Gen 3.0 速度运行。
有关此设置的更多信息,请参阅 PCIe Gen 3.0。
- 使用 raspi-config
- 使用 config.txt
首先,打开树莓派配置 CLI;在树莓派终端中运行以下命令:
$ sudo raspi-config
然后,从配置 CLI 完成以下步骤:
- 选择 Advanced Options > PCIe Speed。
- 选择 Yes 以启用 PCI Gen 3.0 模式。
- 选择 Finish 以退出配置 CLI。
- 重启树莓派以使更改生效。您可以在终端中使用
sudo reboot执行此操作。
首先,以 root 用户身份打开配置文件(/boot/firmware/config.txt)。然后:
- 将以下行添加到
config.txt文件:
dtparam=pciex1_gen=3
- 重启树莓派以使这些设置生效:
$ sudo reboot
更新树莓派 OS
确保树莓派 5 运行的是安装了最新软件的树莓派 OS Trixie,并且具有最新的树莓派固件:
$ sudo apt update
$ sudo apt full-upgrade -y
$ sudo rpi-eeprom-update -a
$ sudo reboot
有关更多信息,请参阅升级软件和更新 bootloader 配置。
安装所需依赖项
使用最新的树莓派软件和固件更新树莓派后,使用 NPU 需要以下依赖项:
- Hailo 内核设备驱动程序和固件。
- Hailo RT 中间件软件。
- Hailo Tappas 核心后处理库。
如何安装这些依赖项取决于您使用的 AI 硬件。为您的 AI 硬件选择适当的安装选项:
AI Kit 和 AI HAT+ 需要不同的软件包(hailo-all),而 AI HAT+ 2 需要(hailo-h10-all)。这些软件包不能共存。
- AI Kit 和 AI HAT+
- AI HAT+ 2
要为 AI Kit 或 AI HAT+ 安装所需的依赖项,请打开树莓派终端并运行以下命令:
$ sudo apt install dkms
$ sudo apt install hailo-all
要为 AI HAT+ 2 安装所需的依赖 项,请打开树莓派终端并运行以下命令:
$ sudo apt install dkms
$ sudo apt install hailo-h10-all
重启并验证
安装所需依赖项后,必须重启树莓派 5。您可以在树莓派终端中使用以下命令执行此操作:
$ sudo reboot
当树莓派 5 重新启动完成后,运行以下命令检查一切是否正常运行:
$ hailortcli fw-control identify
如果您看到类似以下的输出,说明您已成功安装 NPU 及其软件依赖项:
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HLDDLBB234500054
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
AI HAT+ 和 AI HAT+ 2 的 Serial Number、Part Number 和 Product Name 可能会显示 <N/A>。这是预期的,不会影响功能。
此外,您可以运行 dmesg | grep -i hailo 检查内核日志,预期输出类似以下内容:
[ 3.049657] hailo: Init module. driver version 4.17.0
[ 3.051983] hailo 0000:01:00.0: Probing on: 1e60:2864...
[ 3.051989] hailo 0000:01:00.0: Probing: Allocate memory for device extension, 11600
[ 3.052006] hailo 0000:01:00.0: enabling device (0000 -> 0002)
[ 3.052011] hailo 0000:01:00.0: Probing: Device enabled
[ 3.052028] hailo 0000:01:00.0: Probing: mapped bar 0 - 000000000d8baaf1 16384
[ 3.052034] hailo 0000:01:00.0: Probing: mapped bar 2 - 000000009eeaa33c 4096
[ 3.052039] hailo 0000:01:00.0: Probing: mapped bar 4 - 00000000b9b3d17d 16384
[ 3.052044] hailo 0000:01:00.0: Probing: Force setting max_desc_page_size to 4096 (recommended value is 16384)
[ 3.052052] hailo 0000:01:00.0: Probing: Enabled 64 bit dma
[ 3.052055] hailo 0000:01:00.0: Probing: Using userspace allocated vdma buffers
[ 3.052059] hailo 0000:01:00.0: Disabling ASPM L0s
[ 3.052070] hailo 0000:01:00.0: Successfully disabled ASPM L0s
[ 3.221043] hailo 0000:01:00.0: Firmware was loaded successfully
[ 3.231845] hailo 0000:01:00.0: Probing: Added board 1e60-2864, /dev/hailo0
运行视觉 AI 模型
本节提供了在树莓派 5 上设置 Hailo NPU 的指南,使摄像头应用程序能够对摄像头输入运行实时 AI 任务,如对象检测。以下说明适用于 AI Kit、AI HAT+ 和 AI HAT+ 2。