AI套件及AI HAT+ 软件
Getting Started
在 GitHub 上修改
本指南将帮助您使用Raspberry Pi 5设置Hailo NPU。这将使您能够使用AI神经网络加速器运行 rpicam-apps
相机Demo。
Prerequisites
对于本指南,您将需要以下内容:
-
一台 Raspberry Pi 5
-
下列 NPU 之一:
-
一个 Raspberry Pi AI Kit,其中包括
-
一个 M.2 HAT+
-
一个预装的 Hailo-8L AI 模块
-
-
-
安装 64 位 Raspberry Pi OS Bookworm
-
任何 Raspberry Pi 官方摄像头(如摄像头模块 3 或高质量摄像头)
Hardware setup
-
按照 安装 Raspberry Pi Camera 的说明将相机连接到Raspberry Pi 5板上。您可以跳过将Raspberry Pi重新连接到电源,因为您需要在下一步断开Raspberry Pi的电源。
-
按照 enable PCIe Gen 3.0 的说明进行操作。此步骤是可选的,但_highlyrecommended_使用NPU实现最佳性能。
-
安装使用NPU所需的依赖项。从终端窗口运行以下命令:
$ sudo apt install hailo-all
这会安装以下依赖项:
-
Hailo kernel device driver and firmware
-
HailoRT middleware software
-
Hailo Tappas core post-processing libraries
-
The
rpicam-apps
Hailo post-processing software demo stages
-
-
最后,使用
sudo reboot
重新启动Raspberry Pi让这些设置生效。 -
要确保一切正常运行,请运行以下命令:
$ 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
NoteAI HAT+ 设备的 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
-
为确保相机正常运行,请运行以下命令:
$ rpicam-hello -t 10s
这将启动相机并显示10秒钟的预览窗口。一旦您验证所有内容都安装正确,就可以运行一些演示了。
Demos
rpicam-apps
相机应用程序套件实现了 post-processing framework。本节包含一些演示后处理阶段,突出了NPU的一些功能。
以下演示使用了默认显示预览窗口的 rpicam-hello
。不过,您也可以使用其他 rpicam-apps
代替,包括 rpicam-vid
和 rpicam-still
。您可能需要添加或修改一些命令行选项,以使Demo命令与其他应用程序兼容。
首先,运行以下命令安装最新的 rpicam-apps
软件包:
$ sudo apt update && sudo apt install rpicam-apps
Tip
|
后续部分中提供的命令使用此存储库中的JSON文件。为了便于引用这些文件,此命令在您的主文件夹中创建克隆的 rpicam-apps 目录。如果修改此目录的位置,还必须更改下面的demo命令以引用JSON文件的新位置。
|
Object Detection
此演示显示神经网络检测到的对象周围的边界框。要禁用取景器,请使用 -n
标志。要返回描述检测到的对象的纯文本输出,请添加 -v 2
选项。运行以下命令在Raspberry Pi上尝试演示:
$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov6_inference.json
或者,您可以尝试另一种在性能和效率方面具有不同权衡的模型。
要使用Yolov8模型运行演示,请运行以下命令:
$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_inference.json
要使用YoloX模型运行演示,请运行以下命令:
$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolox_inference.json
要使用Yolov5 Person and Face模型运行演示,请运行以下命令:
$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov5_personface.json
Alternative Package Versions
如果 Hailo 软件包和设备驱动程序的版本不匹配,AI Kit 和 AI HAT+ 将无法运行。此外,Hailo 的神经网络工具可能需要特定版本才能生成模型文件。如果需要特定版本,请完成以下步骤,安装所有依赖项的正确版本:
-
如果之前使用过
apt-mark
来保存任何相关软件包,则可能需要取消保存:$ sudo apt-mark unhold hailo-tappas-core hailort hailo-dkms
-
安装所需版本的软件包:
-
4.18
-
4.17
要安装 4.18 版 Hailo 神经网络工具,请运行以下命令:
$ sudo apt install hailo-tappas-core=3.29.1 hailort=4.18.0 hailo-dkms=4.18.0-2
$ sudo apt-mark hold hailo-tappas-core hailort hailo-dkms
要安装 4.17 版 Hailo 神经网络工具,请运行以下命令:
$ sudo apt install hailo-tappas-core=3.28.2 hailort=4.17.0 hailo-dkms=4.17.0-1
$ sudo apt-mark hold hailo-tappas-core hailort hailo-dkms
Further Resources
Hailo还创建了一组Demo,您可以在 hailo-ai/hailo-rpi5-examples GitHub repository 中提供的Raspberry Pi 5上运行。
你可以在 hailo-ai/hailo_model_zoo GitHub repository 中找到Hailo广泛的模型库,其中包含大量的神经网络。
查看 Hailo community forums and developer zone 以进一步讨论Hailo硬件和工具。