Python - AI - MAX78000 - Ubuntu で環境作成

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

1. 概要

 前ページまでで、作業している環境は、「Windows11 23H2」でのものです。  アップされているサンプルの中には、「Windows」環境では、動作しないものがあるようです。  「macOS」や「Ubuntu」での環境作成例もあります。  「macOS」の環境は作成できませんが、「Ubuntu」ならばやってみることができるかもしれないので、やってみます。  「Ubuntu 24.04」でやってみます。  本ページは、下記のサイトを参考にさせていただきました。
analogdevicesinc/ai8x-training: Model Training for ADI's MAX78000 and MAX78002 Edge AI Devices」
「GitHub - analogdevicesinc/msdk: Software Development Kit for Analog Device's MAX-series microcontrollers

2. 準備

 とりあえず、「apt update」で、システムを最新にしてはおきます。  「pip」がなかったので、インストールしておきます。  (他にも足りないものがあるようで、まとめて)  「root」ユーザ権限で。

apt install -y git python3-pip python3-full

apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libsndfile-dev portaudio19-dev libsox-dev
 以下で、「python」で動作しようとするとないので、「python」を「python3」のシンボリックリンクにします。

ln -s /usr/bin/python3 /usr/bin/python
 なんか「pyenv」なるものが必要らしい。  ログインユーザで。

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
 「bash」へパスを追加。

sh
cat << 'EOF' >> ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
EOF
exit

source ~/.bashrc
 「python3.11.8」が必要らしいので、ユーザ環境へ、インストール。

pyenv install "3.11.8"

3. git

 シェルは、デフォルトで「bash」になっているかと思いますが、変更している場合は、「bash」へ変更します。  ユーザのホーム直下に環境を作るものとします。  ここからは、ログインユーザで。  「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」のバージョンを「3.11.8」へ設定して。

pyenv local 3.11.8
 確認。

$ python --version
Python 3.11.8

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

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

source .venv/bin/activate
 今後、ディレクトリ移動ごとに、上記の「source」先頭ンドを実行することが必要になります。  上記で、「activate」を実行すると、プロンプトの先頭が、「(ai8x-training)」になります。  このあたり、「Windows」とは異なります。  必要なパッケージをインストールします。

pip3 install -U pip wheel setuptools

pip3 install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121

pip3 install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/rocm5.7

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」のバージョンを「3.11.8」へ設定して。

pyenv local 3.11.8
 確認。

$ python --version
Python 3.11.8

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

echo "*" > .venv/.gitignore

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

pip3 install -U pip setuptools

pip3 install -r requirements.txt

deactivate

6. msdk 環境設定

 前もって、必要なモジュールをインストール。  「root」ユーザ権限で。

apt install -y libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-shm0 libxcb-util1 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcb1 libxkbcommon-x11-0 libxkbcommon0 libgl1 libusb-0.1-4 libhidapi-libusb0 libhidapi-hidraw0
 以下、ログインユーザで。  「msdk」の環境を作成します。  下記のサイトへアクセスして。
GitHub - analogdevicesinc/msdk: Software Development Kit for Analog Device's MAX-series microcontrollers
 「Installation」の「Installation」
「MAX78000」-「GitHub - analogdevicesinc/msdk: Software Development Kit for Analog Device's MAX-series microcontrollers」

 リンク先で「DownLoad」の「Linux(Ubuntu)」

「MAX78000」-「MSDK User Guide」

 リンク先の「MaximMicrosSDK_linux.run」

「MAX78000」-「MaximMicrosSDK_linux.run」

 ここで、ダウンロードが始まりますが。
 「Windows」同様、ログインを求められたり、「agrement」を求められたりします。
 アカウントを作成するか・・・「Google 大先生」のアカウント等の転用もできるようです。

 インストールします。
 ダウンロードした、インストーラへ実行権限をつけて。


chmod +x MaximMicrosSDK_linux.run
 デスクトップ上で開きます。  「次へ」
「Maxim Micros SDK」-「設定」「Maxim Micros SDK」

 「次へ」

「Maxim Micros SDK」-「インストール フォルダ」

 「次へ」

「Maxim Micros SDK」-「コンポーネントの選択」

 「使用許諾に同意します」をチェックして「次へ」

「Maxim Micros SDK」-「使用許諾契約」

 「インストール」

「Maxim Micros SDK」-「インストールの準備ができました」
「Maxim Micros SDK」-「インストール中」

 パスワードを入力して「認証」

「Maxim Micros SDK」-「認証が必要です」

 「無視」
 (後で、「apt」コマンドで確認しましたが、「libncueses5」は、リポジトリに存在しません)

「Maxim Micros SDK」-「」

 「完了」

「Maxim Micros SDK」-「ウィザードを完了しています」

 「OK」
 (「Ubuntu」でも、「Visual Studio Code」使うんかしら?)

「Maxim Micros SDK」-「MaximSDK Installer」


AbemaTV 無料体験
薬屋の独り言
それがだいじWi-Fi
EMEET 1
ネットオークションの相場、統計、価格比較といえばオークファン
ベルリッツ
健康サポート特集
U-NEXT
Amazonギフトカード