VitisInspector
は Vitis AI 2.5 で導入された試験的な新機能で、浮動小数点モデルを検査し、特定の DPU ターゲット アーキテクチャの分割結果を表示すると共に、レイヤーが DPU にマップされない理由を示します。target
が指定されていない場合、ターゲットに依存しない一般的な検査結果のみが表示されます。target
を指定すると、そのターゲットのより詳細な検査結果が表示されます。 注記: DPU の制限のため、この機能はデフォルトの
pof2s
量子化ストラテジについてのみ使用可能です。これは試験的な機能です。バグや問題が発生した場合はご連絡ください。次のコードは、モデルを検査する方法を示しています。
model = tf.keras.models.load_model(‘float_model.h5’)
from tensorflow_model_optimization.quantization.keras import vitis_inspect
inspector = vitis_inspect.VitisInspector(target="DPUCADF8H_ISA0")
inspector.inspect_model(model,
plot=True,
plot_file="model.svg",
dump_results=True,
dump_results_file="inspect_results.txt",
verbose=0)
- target
- このモデルを運用するターゲット DPU を指定する文字列または None。値は名称文字列 (DPUCAHX8L_ISA0 など)、JSON ファイル パス (./U50/arch.json など) またはフィンガープリントです。None に設定されている場合、ターゲットは適用されず、ターゲットに依存しない一般的な検査結果のみが表示されます。デフォルト値は None です。
- model
- 検査する浮動小数点モデルを指定する tf.keras.Model インスタンス。浮動小数点モデルには具体的な入力形状が必要です。具体的な入力形状を指定して浮動小数点モデルを構築するか、または
input_shape
引数を指定して inspect_model を呼び出してください。 - input_shape
- 各入力レイヤーの入力形状を含む list(int) または list(list(int))。設定されない場合、入力レイヤー内のデフォルト形状情報を使用します。複数の入力がある場合は、たとえば inspect_model(model, input_shape=[224, 224, 3]) または inspect_model(model, input_shape=[[224, 224, 3], [64, 1]]) のように、形状のリストを使用します。すべての次元に具体的な値が必要です。次元 batch_size は省略されます。デフォルト値は None です。
- plot
- モデルの検査結果を
graphviz
によってプロットし、イメージをディスクに保存するかどうかを指定するブール値。モデルの検査結果を変更のヒントと共に可視化する場合に役に立ちます。ただし、ヒントを表示できるのは、.svg
など一部のタイプの出力ファイルのみです。デフォルト値は False です。 - plot_file
- モデルをプロットする場合にモデル イメージ ファイルのファイル パスを指定する文字列。デフォルト値は model.svg です。
- dump_results
- 検査結果をダンプしてテキストをディスクに保存するかどうかを指定するブール値。画面に表示されるログよりも詳細なレイヤーごとの結果が、テキスト ファイルにダンプされます。デフォルト値は False です。
- dump_results_file
- 検査結果のテキスト ファイルのファイル パスを指定する文字列。デフォルト値は inspect_results.txt です。
- verbose
- ログの冗長レベルを指定する int。verbose の値が大きいほど、より詳細な結果ログが表示されます。デフォルト値は 0 です。