量子化された推論モデルとリファレンス結果を生成するには、次の手順に従います。
- 次のコマンドを実行してモデルを量子化することにより、量子化された推論モデルを生成します。 量子化されたモデル (quantize_eval_model.pb) は、
quantize_model
フォルダーに生成されます。vai_q_tensorflow quantize \ --input_frozen_graph ./float/resnet_v1_50_inference.pb \ --input_fn input_fn.calib_input \ --output_dir quantize_model \ --input_nodes input \ --output_nodes resnet_v1_50/predictions/Reshape_1 \ --input_shapes ?,224,224,3 \ --calib_iter 100
- 次のコマンドを実行してリファレンス データを生成することにより、リファレンス結果を生成します。
vai_q_tensorflow dump --input_frozen_graph \ quantize_model/quantize_eval_model.pb \ --input_fn input_fn.dump_input \ --output_dir=dump_gpu
次の図に、リファレンス データの一部を示します。
- 次のコマンド (V70 の例) を実行して DPU の xmodel ファイルを生成することにより、DPU の xmodel を生成します。
vai_c_tensorflow --frozen_pb quantize_model/quantize_eval_model.pb \ --arch /opt/vitis_ai/compiler/arch/DPUCV2DX8G/V70/arch.json \ --output_dir compile_model \ --net_name resnet50_tf
- 次のコマンドを実行して DPU の推論結果を生成し、DPU の推論結果とリファレンス データを自動的に比較します。
env XLNX_ENABLE_DUMP=1 XLNX_ENABLE_DEBUG_MODE=1 XLNX_GOLDEN_DIR=./dump_gpu/dump_results_0 \ xdputil run ./compile_model/resnet_v1_50_tf.xmodel \ ./dump_gpu/dump_results_0/input_aquant.bin \ 2>result.log 1>&2
xdputil
の使用法の詳細を確認するには、xdputil --help コマンドを実行してください。上記のコマンドの実行後、DPU の推論結果および比較結果
result.log
が生成されます。DPU の推論結果は、dump
フォルダーに置かれます。 - リファレンス結果と DPU 推論結果をクロスチェックする。
- すべてのレイヤーについて比較結果を表示します。
grep --color=always 'XLNX_GOLDEN_DIR.*layer_name' result.log
- エラーのあるレイヤーのみ表示します。
grep --color=always 'XLNX_GOLDEN_DIR.*fail ! layer_name' result.log
クロスチェックがエラーになった場合は、次の方法でどのレイヤーが原因でエラーになったかをさらに確認します。
- DPU と GPU の入力を確認します。双方で同じ入力データを使用していることを確認します。
-
xdputil
ツールを使用して、ネットワークの構造を表示する画像を生成します。Usage: xdputil xmodel <xmodel> -s <svg>
注記: Vitis AI Docker 環境で、次のコマンドを実行して必要なライブラリをインストールします。sudo apt-get install graphviz
作成した画像を開くと、これらの op の周囲に複数の小さいボックスが表示されています。各ボックスは DPU 上のレイヤーを意味します。最後の op の名前を使用して、GPU のダンプ結果からそれに対応する op を検索できます。次の図に、構造の一部を示します。
- ファイルを AMD に送信します。
DPU 上で特定のレイヤーに問題があるとわかった場合は、量子化されたモデル (
quantize_eval_model.pb
など) を、ザイリンクス側でさらに解析するための 1 つのパッケージとして準備し、詳細な説明と共にAMDに送信します。
- すべてのレイヤーについて比較結果を表示します。