Vitis AI API_1 は、分類、検出、セグメンテーションなどの各種ビジョン タスクに関連する高レベル API ベースのライブラリ セットです。プリプロセスとポストプロセスを含むアルゴリズム フロー全体に最適化されており、AI Model Zoo のモデルをサポートしています。
- https://github.com/Xilinx/Vitis-AI から対応する Docker イメージをダウンロードします。
- Docker イメージをロードして実行します。
- ホスト側でフォルダーを作成し、そのフォルダー内にフロート モデルを配置し、Vitis AI クオンタイザーを使用してモデルを量子化します。詳細は、 『Vitis AI ユーザー ガイド』 (UG1414) を参照してください。
- Vitis AI コンパイラを使用してモデルをコンパイルし、yolov3_custom.xmodel などの xmodel ファイルを生成します。詳細は、 『Vitis AI ユーザー ガイド』 (UG1414) を参照してください。
- 次のスニペットに示すように、yolov3_custom.prototxt ファイルを作成します。
model { name: "yolov3_custom" kernel { name: "yolov3_custom" mean: 0.0 mean: 0.0 mean: 0.0 scale: 0.00390625 scale: 0.00390625 scale: 0.00390625 } model_type : YOLOv3 yolo_v3_param { num_classes: 20 anchorCnt: 3 layer_name: "59" layer_name: "67" layer_name: "75" conf_threshold: 0.3 nms_threshold: 0.45 biases: 10 biases: 13 biases: 16 biases: 30 biases: 33 biases: 23 biases: 30 biases: 61 biases: 62 biases: 45 biases: 59 biases: 119 biases: 116 biases: 90 biases: 156 biases: 198 biases: 373 biases: 326 test_mAP: false } }
- yolov3_custom フォルダーを作成します。yolov3_custom.xmodel および yolov3_custom.prototxt ファイルを yolov3_custom フォルダーに置きます。
- yolov3_custom フォルダーをターゲットの /usr/share/vitis_ai_library/models にコピーします。
- アプリケーション コードには、Yolov3 のサンプル コードを使用してください。編集する必要はありません。
int main(int argc, char* argv[]) { std::string model = argv[1]; return vitis::ai::main_for_jpeg_demo( argc, argv, [model] { return vitis::ai::YOLOv3::create(model); }, process_result, 2); }
- プログラムをクロス コンパイルして、実行可能ファイル test_jpeg_yolov3 を生成します。
cd Vitis-AI/examples/vai_library/samples/yolov3 sh -x build.sh
-
scp を使用して、実行可能なプログラムをターゲット ボードにコピーします。
scp test_jpeg_yolov3 root@IP_OF_BOARD:~/
- VART ランタイムをターゲットにインストールします。詳細は、ステップ 3: AI ライブラリ パッケージをインストールする を参照してください。
- ターゲット ボードでプログラムを実行すると、次の結果が表示されます。
./test_jpeg_yolov3 yolov3_custom sample.jpg
注記:
Vitis AI API_1 を使用して開発する場合は、model.xmodel および model.protxt ファイルを用意します。Vitis AI ライブラリのサンプルを使用してモデルを実行します。Vitis AI ライブラリのサンプルはすべて Vitis-AI/examples/vai_library/samples フォルダーにあります。