3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5Stack Module LLM Advent Calendar 2024

Day 15

Module-LLMのCVサンプルのビルド手順

Last updated at Posted at 2024-12-14

目的

LLM_ModuleでCVサンプル(mobilenetv2でのクラス分類やyoloでのオブジェクト認識)を行うC++のプログラムをビルドする手順について説明する。

ax-samplesの最新版のダウンロードと解凍

UbuntuをインストールしたPCにて、
axera-techのax-samplesのリポジトリのファイルをダウンロードして解凍する。

$ git clone https://github.com/AXERA-TECH/ax-samples

ax620q_bsp_sdkのダウンロードとパスの設定

次に、ビルドに必要な「ax620q_bsp_sdk」をダウンロードします。このSDKのパスを環境変数ax_bspに設定しておきます。

$ git clone https://github.com/AXERA-TECH/ax620q_bsp_sdk.git
$ export ax_bsp=$PWD/ax620q_bsp_sdk/msp/out/arm64_glibc/
$ echo $ax_bsp

OpenCVのダウンロードと解凍

サンプルプログラムで使用するOpenCVも必要です。以下の手順でダウンロードし、サードパーティフォルダ(3rdparty)に展開します。

$ cd ax-samples
$ mkdir -p ./3rdparty
$ wget https://github.com/AXERA-TECH/ax-samples/releases/download/v0.1/opencv-aarch64-linux-gnu-gcc-7.5.0.zip
$ unzip opencv-aarch64-linux-gnu-gcc-7.5.0.zip -d ./3rdparty

aarch64のパッケージの導入とaarch64-linux-gnu.toolchain.cmakeファイルの作成

ARMプロセッサ向けにビルドするために、aarch64用のコンパイラをインストールします。

オフィシャルの手順ではgcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnuをインストールしますが、
Ubuntu22.04のaptでインストールできるaarch64-linux-gnuでもビルドできるため、aarch64-linux-gnuを使用しました。
問題があれば、gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnuをインストールして置き換えることが必要です。

$ sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

以下の内容で../toolchains/aarch64-linux-gnu.toolchain.cmakeというファイルを作成します。このファイルは、CMakeでクロスコンパイルをする際の設定を記述したものです。

SET (CMAKE_SYSTEM_NAME Linux)
SET (CMAKE_SYSTEM_PROCESSOR aarch64)

SET (CMAKE_C_COMPILER   "aarch64-linux-gnu-gcc")
SET (CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")

SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

ax-samplesのビルド

ビルド用のフォルダを作成し、ビルドの準備をします。
次に、実行ファイルをビルドします。並列処理でビルドを高速化するため、make -j8と指定します。

$ mkdir build
$ cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake -DBSP_MSP_DIR=${ax_bsp}/ -DAXERA_TARGET_CHIP=ax630c ..
$ make -j8
$ make install

./ax-samples/build/install/ax630c/のフォルダに実行ファイルが生成されました。

./ax-samples/build/install/ax630c/
├── ax_classification
├── ax_crowdcount
├── ax_depth_anything
├── ax_imgproc
├── ax_model_info
├── ax_rtdetr
├── ax_scrfd
├── ax_simcc_pose
├── ax_yolo11
├── ax_yolo11_pose
├── ax_yolo11_seg
├── ax_yolo_world
├── ax_yolo_world_open_vocabulary
├── ax_yolov10
├── ax_yolov10_u
├── ax_yolov5_face
├── ax_yolov5s
├── ax_yolov5s_seg
├── ax_yolov6
├── ax_yolov7
├── ax_yolov7_tiny_face
├── ax_yolov8
├── ax_yolov8_pose
├── ax_yolov8_seg
├── ax_yolov9
├── ax_yolov9_u
└── ax_yolox

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?