Python - AI - MAX78000 - 環境作成(ai8x-training・ai8x-synthesis)

クラウディア 
1. 概要
2. 準備
3. git
4. ai8x-training 環境設定
5. ai8x-synthesis 環境設定

1. 概要

 下記のページを参考に、環境を作成します。
analogdevicesinc/ai8x-training: Model Training for ADI's MAX78000 and MAX78002 Edge AI Devices
 参考サイトでは、いろいろなプラットフォームに、環境を作成する方法を記述していますが・・・。  ここでは、「Windows11 23H2」で、環境構築する方法について、メモします。

2. 準備

 環境構築後に、「C」のコンパイラが必要になります。  「LLVM」の「Clang」では、エラーになりました。  「Visual Studio 2022」を「C」言語つきでインストールしておきます。  (実際にコンパイルする際は、別のコンパイラを使用することになります)  「Python」が必要です。  古いのはダメなようで、2024年10月18日時点では、「3.11.9」でよいでしょう。  「Windows11」へ「Python」をインストールする手順については、「Python - インストール」をご参照ください。  「Git for Windows」が必要です。  「Git for Windows」のインストールについては、「バージョン管理 - Git - Git for Windows」をご参照ください。  「Git Bash」も必要になります。  「Git Bash」は、「TortoiseGit」にバンドルされています。  「TortoiseGit」のインストールに関しては、「バージョン管理 - Git Windows クライアント TortoiseGit」をご参照ください。  「github」で、アカウントも必要なので、作成しておきましょう。  環境構築の操作は、「Visual Studio Code」で行いますので、これも必要です。  「Visual Studio Code」の拡張機能として、以下のものをインストールします。 ・Python Extension Pack  「Visual Studio Code」「拡張機能」のインストール等については、「Visual Studio Code」をご参照ください。  さらに「ai8x-synthesis」の環境設定には、なんらかの「C++」のコンパイル・リンク環境が必要なようです。  後で、「arm」のクロスコンパイラが必要になりますので、前もってそれをインストールしておくか・・・。  もしくは、現時点(2024年11月13日)では、「Visual Studio 2022 Community」で「C++」環境をインストールしておくのが手っ取り早いかと思います。  「Visual Studio 2022 Community」版のインストールについては、「Windows - Visual Studio - 2022」をご参照ください。

3. git

 「Visual Studio Code」で、空っぽのワークスペースを作成します。  ワークスペースのデフォルトフォルダを作成します。  デフォルトフォルダは、必須ではないかもしれませんが、今までの経験上、上位を含めて、日本語を含まないフォルダ名がよいと思います。  ワークスペースのフォルダで、ターミナルを開いて、シェルに「Git bash」を使用します。  ターミナルで、「Git bash」を使用する方法については、「Visual Studio Code - ターミナル」をご参照ください。

pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
 「github」からコードを取得します。

git clone --recursive https://github.com/analogdevicesinc/ai8x-training.git

git clone --recursive https://github.com/analogdevicesinc/ai8x-synthesis.git
 「git」の途中でエラーになることがあります。  そのような場合は、フォルダごと削除して、再度「git」コマンドをやりなおします。  以降、この状態から、あれこれいじります。  元に戻せるよう、この状態でいったん、バックアップを取っておいた方がいいかもしれません。  「ai8x-training」「ai8x-synthesis」という、2つの「git」を取得したわけですが、それぞれ環境を設定します。

4. ai8x-training 環境設定

 「ai8x-training」の環境を設定します。  「bash」上での環境を設定します。

cd ai8x-training

python -m venv .venv --prompt ai8x-training

echo "*" > .venv/.gitignore
 設定後、反映します。

source .venv/Scripts/activate
 今後、「Git bash」を開くごとに、上記の「source」コマンドを実行することが必要になります。  上記で、その後は、プロンプトが、「(ai8x-training)」となるはずなんですけど、「source」コマンド実行時に出力されるだけです。  必要なパッケージをインストールします。

.venv/Scripts/python.exe -m pip install -U pip wheel setuptools

pip3 install -r requirements.txt
 ここで、おまけ。  以降のサンプルパターンでは、警告が出ませんが。  オリジナルのパターンをやろうしたら、警告が出ることがあります。  それを防ぐために、ソースをひとついじります。

ai8x-training/train.py
 73行目あたりに、下記の行をいれておきます。  (詳細は、「Python - トラブルシュート」の「tensorflow Warning」をご参照ください)

os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
 次項の環境設定のために。

deactivate

5. ai8x-synthesis 環境設定

 「ai8x-synthesis」の環境を設定します。

cd ../ai8x-synthesis

python -m venv .venv --prompt ai8x-synthesis

echo "*" > .venv/.gitignore

source .venv/Scripts/activate
 パッケージインストール。

.venv/Scripts/python.exe -m pip install --upgrade pip

.venv/Scripts/python.exe -m pip install -U pip setuptools

pip3 install -r requirements.txt
AbemaTV 無料体験