👻

M5Stack Module LLMのpython用runtimeのデモを動かす

2024/12/05に公開

はじめに

M5Stack Module LLMのNPUはC用のAPIが準備されていますが、発売当初からAXERAの中の人にpython用のruntimeが欲しいといってたら、発売後約1か月程度で作ってくれました。

簡単なデモが一つ入っていたので動かすところまでです。

動かし方

/opt/runtimeというフォルダを作って実行してみます。

apt update
pip install pillow
mkdir /opt/runtime
cd /opt/runtime
wget https://github.com/AXERA-TECH/pyaxengine/releases/download/0.0.1rc1/axengine-0.0.1-py3-none-any.whl
git clone https://github.com/AXERA-TECH/pyaxengine.git

これで準備が整っているはずなので実行します。
実行するclassification.pyはmobilenetv2をAX620C用に量子化変換したモデルを実行するためのスクリプトです。
実行すると以下のような結果が得られました。

root@m5stack-LLM:/opt/runtime# python3 pyaxengine/examples/classification.py 
[INFO] Chip type: ChipType.MC20E
[INFO] Engine version: 2.6.3sp
[INFO] VNPU type: VNPUType.DISABLED
[INFO] Model type: 0 (half core)
[INFO] Compiler version: 1.8-beta1 6a7e59de
Top 5 Predictions:
Class Index: 282, Score: 9.641450881958008
Class Index: 281, Score: 8.320703506469727
Class Index: 278, Score: 8.056554794311523
Class Index: 285, Score: 7.924480438232422
Class Index: 277, Score: 7.79240608215332

Pulsar2 Quick Startの実行結果とは若干違う結果ですが、入力画像のプリプロセスが違う気もするのでその影響かな?
pulsar2のデモ実行結果

Discussion