Raspberry Pi[48] AI Kit

AI kit を買ったので少しづつ構築します。まだ、出たばかりで情報があまりないので、まずは本家に記載された Install からやってみます。以下は日本語訳です。

Raspberry Pi 5
各AIキットには、事前にインストールされたAIモジュール、リボンケーブル、GPIOスタッキングヘッダー、および取り付け用ハードウェアが付属しています。AIキットをインストールするには、次の手順を完了してください:

まず、お使いのRaspberry Piが最新のソフトウェアを実行していることを確認してください。更新するには、次のコマンドを実行してください:

sudo apt update && sudo apt full-upgrade

次に、お使いのRaspberry Piのファームウェアが最新であることを確認してください。現在のファームウェアを確認するには、次のコマンドを実行してください:

sudo rpi-eeprom-update

2023年12月6日またはそれ以降の日付が表示された場合は、次のステップに進んでください。2023年12月6日より前の日付が表示された場合は、次のコマンドを実行してRaspberry Pi Configuration CLIを開いてください:

sudo raspi-config

「Advanced Options > Bootloader Version」で「Latest」を選択してください。その後、「Finish」または「Escape」キーでraspi-configを終了します。

次のコマンドを実行して、ファームウェアを最新バージョンに更新してください:

sudo rpi-eeprom-update -a

インストールを開始する前に、Raspberry Piの電源を切断してください。

最高のパフォーマンスを得るために、AIキットをRaspberry Piのアクティブクーラーと一緒に使用することをお勧めします。アクティブクーラーをお持ちの場合は、AIキットをインストールする前にアクティブクーラーを取り付けてください。

ハードウェアのセットアップ
「Raspberry Piカメラのインストール」の指示に従い、カメラをRaspberry Pi 5ボードに取り付けます。次のステップで再度Raspberry Piの電源を切断する必要があるため、電源の再接続はスキップできます。

インストール手順に従って、AIキットのハードウェアをRaspberry Pi 5に接続してください。

PCIe Gen 3.0を有効にする手順に従ってください。

警告
Raspberry Pi 5はGen 3.0の速度に対して認証されていません。PCIe Gen 3.0の接続は不安定になる可能性があります。← そんなこと書かれてもねぇ。

接続はGen 2.0速度(5 GT/sec)に対して認証されていますが、Gen 3.0(10 GT/sec)速度を強制することができます。PCIe Gen 3.0速度を有効にするには、/boot/firmware/config.txtに次の行を追加してください:

dtparam=pciex1_gen=3

via raspi-config
次のコマンドを実行してRaspberry Pi Configuration CLIを開いてください:

sudo raspi-config

次の手順でPCIe Gen 3.0速度を有効にします:

「Advanced Options」を選択します。
「PCIe Speed」を選択します。
PCIe Gen 3モードを有効にするには「Yes」を選択します。
「Finish」を選択して終了します。
これらの設定を反映させるために、sudo rebootでRaspberry Piを再起動します。

AIキットを使用するために必要な依存関係をインストールします。ターミナルウィンドウから次のコマンドを実行してください:

sudo apt install hailo-all

これにより、以下の依存関係がインストールされます:

Hailoカーネルデバイスドライバとファームウェア
HailoRTミドルウェアソフトウェア
Hailo Tappasコアポストプロセッシングライブラリ
rpicam-apps Hailoポストプロセッシングソフトウェアデモステージ
最後に、これらの設定を反映させるためにsudo rebootでRaspberry Piを再起動します。

すべてが正しく動作していることを確認するために、次のコマンドを実行してください:

次のような出力が表示された場合、AIキットとそのソフトウェア依存関係が正常にインストールされています:

hailortcli fw-control identify
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: HLDDLBB242501637
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP

さらに、dmesg | grep -i hailoを実行してカーネルログを確認することができます。以下のような出力が表示されるはずです:

pi@pi5:~ $ dmesg | grep -i hailo
[    2.939044] hailo: Init module. driver version 4.17.0
[    2.939164] hailo 0000:01:00.0: Probing on: 1e60:2864...
[    2.939168] hailo 0000:01:00.0: Probing: Allocate memory for device extension, 11600
[    2.939187] hailo 0000:01:00.0: enabling device (0000 -> 0002)
[    2.939193] hailo 0000:01:00.0: Probing: Device enabled
[    2.939211] hailo 0000:01:00.0: Probing: mapped bar 0 - 00000000360f380f 16384
[    2.939217] hailo 0000:01:00.0: Probing: mapped bar 2 - 0000000042bcab75 4096
[    2.939221] hailo 0000:01:00.0: Probing: mapped bar 4 - 00000000baffa440 16384
[    2.939225] hailo 0000:01:00.0: Probing: Force setting max_desc_page_size to 4096 (recommended value is 16384)
[    2.939233] hailo 0000:01:00.0: Probing: Enabled 64 bit dma
[    2.939236] hailo 0000:01:00.0: Probing: Using userspace allocated vdma buffers
[    2.939239] hailo 0000:01:00.0: Disabling ASPM L0s 
[    2.939243] hailo 0000:01:00.0: Successfully disabled ASPM L0s 
[    3.147489] hailo 0000:01:00.0: Firmware was loaded successfully
[    3.159732] hailo 0000:01:00.0: Probing: Added board 1e60-2864, /dev/hailo0

とりあえず、Kitのインストールはここまででできたようです。本家では、ラズパイカメラによる認識のチュートリアルが続きますが、私は持っていないのでまずはここまでかな。