浮動小数点モデルの検査 - 2.5 日本語

Vitis AI ユーザー ガイド (UG1414)

Document ID
UG1414
Release Date
2022-06-15
Version
2.5 日本語
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 です。