Vitis AIでPytorchのConda環境を新しく構築してみた

AI

Vitis AIでPytorchのConda環境を立ち上げてみました。

量子化(vai_q_pytorch)する上でgpuとnvccを使うには、環境のセットアップが必要です。

FPGAに向けてPytorchのモデルを量子化する内容を紹介します。

 

Vitis AIでPytorchのConda環境を新しく構築してみた

Vitis AIでPytorchのConda環境を新しく立ち上げてみました。

3D物体検出用にGPUとnvccを使った、FPGAに向けたモデルの量子化をするためです。

(デフォルトのvai_q_pytorchだとデータ並列化まで対応できていません)

 

量子化(vai_q_pytorch)をインストールし直しました。

公式ドキュメントによると2つ手法があります。今回は前者を紹介します。

  • Docker ContainersのConda環境毎変えてしまう方法
  • ソースコードから入れなおす方法

 https://docs.xilinx.com/r/en-US/ug1414-vitis-ai/Installing-vai_q_pytorch

 

後者のソースコードから入れなおす方法に関しては下記記事で紹介しています。

Vitis AIでvai_q_pytorchをインストールしてみたメモ

Vitis AIでvai_q_pytorchをインストールしてみたメモ
Vitis AI でPytorchの量子化(vai_q_pytorch)する場面があります。 Ver2.5でnvccの並列計算を使うには、環境のセットアップが必要です。 vai_q_pytorchをインストールする方法を紹介します。

 

Vitis AI 2.5のGPU版で動かしています。

Vitis-AI 2.5のGPU dockerで確認しています。

下記記事でインストール・環境構築した内容を紹介しています。(リンク先はこちら)

Vitis AI GPU dockerの環境構築をしたメモ

Vitis AI GPU dockerの環境構築をしたメモ
XilinxのFPGAのAI開発環境である、Vitis-AI 2.5のGPU版を立ち上げてみました。 dockerやCUDAなど多くのものを事前にインストールする必要があります。 実際にGPU dockerの環境構築をした手順を紹介します。

 

これ以降はVitis AIを立ち上げて、Pytorch用のconda環境で作業しています。

 

Docker ContainersのCondaを入れ替える

公式の手順を(そのまま)従ってインストール作業をすると恐らくエラーが発生します。

#### Vai_q_pytorch is NOT compiled and installed successfully.

 

vai_q_pytorchのインストール作業についてissueでも挙がっていました。

そこではsudo apt-getでcuda-toolkitを入れてと書いてあります。

 https://github.com/Xilinx/Vitis-AI/issues/990

 

デフォルトCondaではnvcc自体がインストールされていません。

 

ただsudo apt-getだけをしても、上手くインストール出来ませんでした。

E: Unable to locate package cuda-toolkit-10-2

 

cuda-toolkitのインストーラからインストールします

NVIDIAのHPからcuda-toolkitのインストーラを入手して対応します。

(今回はVerの10-2で確認しました。11-0や11-3でも動作しました。)

CUDA Toolkit 10.2 Download
Get CUDA Toolkit 10.2 for Windows, Linux, and Mac OSX.

 

一番注意するのは、cudaの最後の手順通りに「sudo apt-get install -y cuda」としないこと。

sudo apt-get install -y cuda-toolkit-10-2 とtoolkitとVerまで指定すること。

docker上のインストールが終わらず、conda環境が構築できないためです。

 

インストーラからcuda-toolkitをインストールするとdocker上でもcuda環境が確認できます

 

この状態でCondaを入れなおします。

シェルスクリプトはdocker/dockerfiles/replace_pytorch.shにあります。

 

結構時間がかかります。30分~1時間ほどです。

暫く待つと、下記のようにmambaでConda環境をインストールします。

(デフォルトのスクリプトだとpytorch==1.7.1 cudatoolkit=10.2の環境に切り替わります。)

 

最後にconda activateを行います。これでConda環境が切り替わります。

コマンドの頭が(vitis-ai-pt1_7)に切り替わりました。

 

Vitis AIのVerを考慮してブランチを指定します

直近の2023/1/12に新しいVerの 3.0がリリースされています。

Vitis AI 2.5だとスクリプト(replace_pytorch.sh)がそのままでは動作できなくなっていました。

途中でvai_q_pytorchのファイルが無いとエラーが出ます。

docker/dockerfiles/replace_pytorch.sh: 110: cd: can't cd to src/Vitis-AI-Quantizer/vai_q_pytorch/ -e

 

もし2.5で同様にConda環境を入れ替えたい場合は、スクリプトファイルを編集します。

vai_q_pytorchだけをチェックアウトしている箇所があります。

pullをmasterではなく、Verを指定して対応します。

git pull origin master → git pull origin 2.5

 

まとめ

Vitis AIのConda環境を入れ替えることが出来ました。

Vitis AIのサンプルプログラムの一部では、一度古いVerを指定する必要があります。

またpytorch,cuda-toolkitなどの古い環境に切り替えたい場合にも役立ちます。

 

是非皆さまも試してみて下さい。

 

コメント