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