エッジの場合 - 3.5 日本語

Vitis AI ライブラリ ユーザー ガイド (UG1354)

Document ID
UG1354
Release Date
2023-06-29
Version
3.5 日本語
Vitis AI ランタイム パッケージと、Vitis AI ライブラリのサンプルおよびモデルは、ビルド済み Vitis AI ボード イメージにコンパイルされています。サンプルは直接実行できます。新しいプログラムを使用する場合は、そのプログラムをホスト側でコンパイルし、実行可能プログラムをターゲットにコピーします。
  1. 次に示すように、scp コマンドを使用して vitis_ai_library_r3.5.0_images.tar.gzvitis_ai_library_r3.5.0_video.tar.gz をホストからターゲットにコピーします。
    [Host]$scp vitis_ai_library_r3.5.0_images.tar.gz root@IP_OF_BOARD:~/
    [Host]$scp vitis_ai_library_r3.5.0_video.tar.gz root@IP_OF_BOARD:~/
  2. ターゲット側でイメージおよびビデオ パッケージを解凍します。
    cd ~
    tar -xzvf vitis_ai_library_r3.5*_images.tar.gz -C Vitis-AI/examples/vai_library
    tar -xzvf vitis_ai_library_r3.5*_video.tar.gz -C Vitis-AI/examples/vai_library
  3. ターゲット ボードでサンプルの抽出ディレクトリに移動し、サンプルをコンパイルします。ここでは、classification の例を示します。
    cd ~/Vitis-AI/examples/vai_library/samples/classification
  4. サンプルを実行します。
    ./test_jpeg_classification resnet50_pt sample_classification.jpg
    注記: バッチ モードがサポートされます。DPU のバッチ数が 1 より大きい場合、次のコマンドも実行できます。
    ./test_jpeg_classification resnet50_pt <img1_url> [<img2_url> ...]
  5. 実行結果を確認します。

    結果を表示する方法は 2 つあります。1 つは、情報を出力して結果を表示する方法です。もう 1 つは、0_sample_classification_result.jpg 画像をダウンロードして表示する方法です。

  6. ビデオ サンプルを実行する場合は、次のコマンドを実行します。
    ./test_video_classification resnet50_pt video_input.webm -t 8

    ここで、video_input.webm は入力ビデオ ファイル名、-t はスレッド数です。ビデオ ファイルは各自で用意する必要があります。

    注記:
    • ビルド済み Vitis AI ボード イメージは、webm または raw 形式のビデオ ファイル入力のみをサポートします。ネイティブ サポートされていない形式のビデオ ファイルを入力として使用する場合は、ffmpeg パッケージなどの関連するパッケージをターゲットにインストールする必要があります。
    • ディスプレイが後処理されたビデオのシンクとして使用されている場合、性能はターゲットのディスプレイ インターフェイスでサポートされている最大フレーム レートに制限されます。つまり、最大性能を反映していない可能性があり、このことは、最大フレーム レートをベンチマークするためにマルチスレッドを有効にした場合に特に重要です。 ただし、次のコマンドを実行することで、Vitis AI ライブラリの最大推論性能をテストできます。
      env DISPLAY=:0.0 DEBUG_DEMO=1 ./test_video_classification \
      resnet50_pt 'multifilesrc location=~/video_input.webm \
      ! decodebin  !  videoconvert ! appsink sync=false' -t 2
  7. 入力として USB カメラを使用してプログラムをテストする場合は、次のコマンドを実行します。
    ./test_video_classification resnet50_pt 0 -t 4

    ここで、0 は最初の USB カメラのデバイス ノードです。複数の USB カメラがある場合、この値を 1、2、3、のように指定します。-t はスレッド数です。

    重要: test_video サンプルに対して Linux Windows サブシステム ターゲットが正常に動作することが求められるため、SSH ターミナルを使用してボードにログインする際に、次のコマンドを実行して「X11 forwarding」を有効にする必要があります (この例では、ホスト マシンの IP アドレスを 192.168.0.10 とします)。
    export DISPLAY=192.168.0.10:0.0
  8. モデルの性能をテストする場合、次のコマンドを実行します。
    ./test_performance_classification resnet50_pt test_performance_classification.list -t 8 -s 60 

    ここで、-t はスレッド数、-s は秒数です。

    実行ファイルのコマンドライン オプションの一覧をすべて表示するには、コマンドに '-h' スイッチを付けて実行します。

  9. デモの実行については、アプリケーション デモ を参照してください。