TensorFlow 1.x - 3.5 日本語

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

Document ID
UG1414
Release Date
2023-09-28
Version
3.5 日本語

量子化 API

def quantize(
input_frozen_graph = "", 
input_nodes = "", 
input_shapes = "", 
output_nodes = "", 
input_fn = "", 
method = 1, 
calib_iter = 100, 
output_dir = "./quantize_results", 
**kargs)
この関数は WeGO TensorFlow r1.15 で vai_q_tensorflow コマンド ツールを呼び出し、入力浮動小数点モデルを DPU で高速運用が可能な固定小数点モデルに変換します。ネイティブな vai_q_tensorflow クオンタイザーとの完全な互換性のために、この API から受け取ったすべてのパラメーターは vai_q_tensorflow コマンド ツールに直接渡されます。この関数は、量子化された GraphDef オブジェクトを返すか、エラー時には None を返します。
注記: 現在、WeGO でのオンザフライ量子化でサポートされるのは PTQ のみです。高速微調整および QAT 量子化の詳細は、vai_q_tensorflow 量子化認識トレーニング を参照してください。

パラメーター

input_frozen_graph
文字列。凍結された入力グラフ (.pb) のパス (デフォルト:)
input_nodes
文字列: 量子化するサブグラフの入力ノードの名前リスト (カンマ区切り)。output_nodes と組み合わせて使用します。運用モデルを生成する際は、input_nodes と output_nodes 間のサブグラフのみが含まれます。前処理および拡張後のノードなど、量子化するモデル本体の先頭に設定してください。(デフォルト: )
input_shapes
文字列。input_nodes の形状リスト (カンマ区切り)。形状は、1,224,224,3 のように各ノードの 4 次元形状 (カンマ区切り) とする必要があります。?,224,224,3 など、バッチ サイズの不明なサイズがサポートされます。input_nodes が複数ある場合は、?,224,224,3:?,300,300,1 のように各ノードの形状リストを : で区切って割り当ててください (デフォルト: )。
output_nodes
文字列: 量子化するサブグラフの出力ノードの名前リスト (カンマ区切り)。input_nodes と組み合わせて使用します。運用モデルを生成する際は、input_nodes と output_nodes 間のサブグラフのみが含まれます。後処理前のノードなど、量子化するモデル本体の末尾に設定してください。(デフォルト: )
input_fn
文字列: 入力データを供給するインポート可能な Python 関数。形式は module_name.input_fn_name です (例: my_input_fn.input_fn)。input_fn は、キャリブレーション ステップを示す入力として int オブジェクトを使用し、各呼び出しに対して dict (placeholder_node_name : numpy.Array) オブジェクトを返します。このオブジェクトは、モデルのプレースホルダー ノードに入力されます。(デフォルト: )
method
int32: {0,1,2}。デフォルト: 1。量子化の方法。オプション:
  • 0: オーバーフローなし。量子化中に値が飽和しないように注意してください。その場合、結果が不正確になります。
  • 1: 最小差分法。量子化中に大きな値の飽和を認めることにより、量子化誤差を抑えます。0 を指定した場合よりも低速ですが、外れ値の影響は受けにくくなります。
  • 2: min-diffs 法 (Depthwise ストラテジ)。量子化中に大きな値の飽和を認めることにより、量子化誤差を抑えます。Depthwise 重みには特別なストラテジを適用しますが、標準的な重みとアクティベーションには方法 1 を適用します。0 を指定した場合よりも低速ですが、外れ値の影響は受けにくくなります。
calib_iter
int32。キャリブレーションの反復。キャリブレーション用イメージの総数 = calib_iter * batch_size (デフォルト: 100)
output_dir
文字列。量子化の結果を保存するディレクトリ (デフォルト: ./quantize_results)。
注記: **kargs のその他のパラメーターの詳細は、vai_q_tensorflow の使用法 を参照してください。
注記: WeGO TensorFlow 1.x のオンザフライ量子化の詳しい例は、サンプルを参照してください。