Vitis AIの使い方のまとめ記事です。
バージョンでかなり使い勝手が異なるので、注意が必要です。
個人的にVitis AIで環境構築・テストした内容を紹介します。
Vitis AIの使い方。個人的まとめ記事
Vitis AIの使い方の個人的まとめ記事です。
各Ver事にインストールから、環境構築・テストした内容を紹介します。
バージョンでかなり使い勝手が異なるので、注意が必要です。
あくまで筆者が趣味で実施・テストしている内容です。参考までにお願いします。
基本は公式のGitHub・ドキュメントを確認お願いします。
https://github.com/Xilinx/Vitis-AI
https://docs.xilinx.com/r/en-US/ug1414-vitis-ai/Vitis-AI-Overview
Vitis AI 3.5のまとめ
Vitis AI 3.5で環境構築・テストした内容です。
PyTorchのCPUとGPUのdocker環境
Ubuntu 20.04の環境でVitis AI 3.0をインストールしました。
※追記_Vitis AI 3.5でも同様にインストールできることを確認しています
PyTorch版のCPUとGPUの両方のdocker環境を整えています。
※Ver 3.0から各フレームワーク(TensorFlow2,PyTorch)でdocker環境が分かれています。
Vitis AI 3.0でPyTorchのCPUとGPUの環境を構築したメモ

KV260+YOLOX
KV260の評価ボードでYOLOXを動かしてみたブログ記事です。
Vitis AIのサンプルをそのまま使用して、テストしています。
Vitis AI 3.5とKV260でYOLOXを動かしたメモ

Vitis AI 2.5のまとめ
Vitis AI 2.5で環境構築・テストした内容です。
CPUのdocker環境
Vitis AI 2.5のCPU版をインストールした記事です。
VItis AI 2.5やPetaLinuxなどインストールしてみたメモ

GPUのdocker環境
Vitis AI 2.5のGPU版にはメモリが32GB必要で、仮想メモリで対応した記事です。
Vitis AIでdocker_build_gpu.shが失敗するメモ

Vitis-AI 2.5のGPU版の環境構築をしたブログ記事です。

PyTorchでの量子化(vai_q_pytorch)
Vitis AIから紹介されている量子化(vai_q_pytorch)のインストール方法の記事です。
※NVCCを使う際にはvai_q_pytorchを入れ直す必要がありました。
但し、後述するConda環境を再構築する手段の方が良く使っています。
Vitis AIでvai_q_pytorchをインストールしてみたメモ

量子化(vai_q_pytorch)する上でのConda環境を新しく構築したブログ記事です。
Vitis AIでPytorchのConda環境を新しく構築してみた

Vitis AIのサンプルには無いライブラリの量子化にトライしたブログ記事です。
ただし、結果は失敗です。サンプル外の量子化は本当に難しかったです。
Vitis-AI Quantizer(量子化)の3D物体検出に失敗したメモ

Vitis AIのPyTorchのコンパイル
Vitis AIのPyTorchコンパイルの練習をしたブログ記事です。
YOLOXとPointPillarsのモデルでテストしています。
Vitis AIでPytorchのcompileをしてみたメモ

PyTorch + YOLOX のサンプル
KV260の評価ボードで実際にYOLOXを動かしてみたブログ記事です。
Vitis AIのサンプルをそのまま使用して、テストしています。

PyTorch + PointPillars(KITTI)のサンプル
Vitis AIのサンプルライブラリのKITTI形式のPointPillarsを調べたブログ記事です。
KITTIとPointPillarsのVitis AIのサンプルを調べたメモ

KV260の評価ボードでKITTI形式のPointPillarsを動かしてみたブログ記事です。
Vitis AIのサンプルライブラリをそのまま使用して、テストしています。
KITTI形式の3D物体検出をKV260(FPGA)で試したメモ

PyTorch + PointPillars(nuScenes)のサンプル
Vitis AI上でnuScenes(mini)のデータセットの入手~評価までしたブログ記事です。
nuScenesの本番環境は数百GB近いので、まずはminiで練習しました。

Vitis AIで自動車のLIDAR点群データを使った3D物体検出の学習を試したブログ記事です。

量子化でPointPillarsのxmodelを出力したブログ記事です
量子化のFast Finetuningをメモリ不足で諦めたメモ

KV260でnuScenes形式のデータセットで3D物体検出したブログ記事です。
nuScenes形式の3D物体検出をKV260(FPGA)で試したメモ

PyTorch + PointPainting(nuScenes)のサンプル
PointPainting(3D物体検出)の処理の一部でテストした内容です。
分類(segmentation)で、Vitis AIのCPUとGPU版の両方でテストしています。
機械学習でCPUとGPUを比較!サポートと処理速度を比べてみた

Vitis AI 2.0 のまとめ
Vitis AI 2.0で環境構築・テストした内容です。
Ultra96-v2+Avnetのプラットフォームでのサンプル
Ultra96-V2でVitis-AI 2.0のサンプルデモを動かしたブログ記事です。
Aventが提供しているプラットフォーム使えばデモ程度は簡単に動作できます。
Ultra96-V2とVitis-AIをAventのplatformsで動かすメモ

PyTorch + YOLOX のサンプル
Vitis AIのライブラリのReadmeに従って、データセットの学習までしたブログ記事です。
Vitis AI Model ZooでPyTorch+YOLOXを動かそうとしたメモ

番外
Vitis AIも使う機会がある、AIのコンテストにも参加していました。
その際の感想ブログ記事です。
第6回AIエッジコンテストの感想
自動車走行の画像とLIDAR点群による3D物体検出が課題でした。
Vitis AIを使って前処理~学習~量子化~テスト実装まで試しています。

AMD Pervasive AI Developer Contestの感想
360°カメラとKR260を搭載したロボットカーをテーマとして、コンテストに参加していました。
Vitis AIを使って360°の物体検出を試しています。

まとめ
Vitis AIは多くの機能があり、筆者が紹介したブログ記事も極一部の内容です。
またバージョンでかなり使い勝手が異なるので、注意が必要です。
是非皆さまもVitis AIを試してみて下さい。
コメント