vai_q_tensorflow2 でサポートされる動作および API - 3.5 日本語

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

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

次の表に、vai_q_tensorflow2 でサポートされる動作および API を示します。

表 1. vai_q_tensorflow2 でサポートされるレイヤー
レイヤー タイプ  サポートされるレイヤー 説明
Core tf.keras.layers.InputLayer  
Core tf.keras.layers.Dense  
Core tf.keras.layers.Activation activationrelu または linear の場合、量子化されます。

activationsigmoid または swish の場合、デフォルトでは hard-sigmoid または hard-swish に変換されてから量子化されます。

それ以外の場合、量子化されません。

Convolution tf.keras.layers.Conv2D  
Convolution tf.keras.layers.DepthwiseConv2D   
Convolution tf.keras.layers.Conv2DTranspose   
Convolution tf.keras.layers.SeparableConv2D  
Pooling tf.keras.layers.AveragePooling2D  
Pooling tf.keras.layers.MaxPooling2D   
Pooling tf.keras.layers.GlobalAveragePooling   
Normalization tf.keras.layers.BatchNormalization  デフォルトでは、BatchNormalization レイヤーは前のたたみ込みレイヤーと融合されます。結合できない場合は、depthwise たたみ込みに変換されます。

QAT モードで train_with_bn = TRUE に設定されていると、BatchNormalization レイヤーは擬似融合されます。get_deploy_model 関数を呼び出すと、融合されます。

Regularization tf.keras.layers.Dropout  デフォルトでは、ドロップアウト レイヤーは除去されます。QAT モードで remove_dropout = FALSE に設定されていると、ドロップアウト レイヤーは保持されます。get_deploy_model 関数を呼び出すと、除去されます。
Reshaping tf.keras.layers.Reshape   
Reshaping tf.keras.layers.Flatten   
Reshaping tf.keras.UpSampling2D   
Reshaping tf.keras.ZeroPadding2D   
Merging tf.keras.layers.Concatenate   
Merging  tf.keras.layers.Add   
Merging tf.keras.layers.Multiply   
Activation tf.keras.layers.ReLU   
Activation tf.keras.layers.Softmax  Softmax レイヤーの入力が量子化されます。スタンドアロン Softmax IP 上で実行して高速化できます。
Activation tf.keras.layers.LeakyReLU 「alpha=0」の LeakyReLU レイヤーのみ。量子化され、DPU にマップできます。クオンタイザーは内部的にアルファ値を 26/256 に自動変換して DPU の実装に合わせます。その他の値を持つ LeakyReLU レイヤーは量子化されず、CPU にマップされます。
hard_sigmoid tf.keras.layer.ReLU(6.)(x + 3.)* (1./ 6.) サポートされる hard_sigmoid は、Mobilenet_v3 から得られます。

tf.keras.Activation.hard_sigmoid は現時点ではサポートされておらず、量子化されません。

Activation tf.keras.layers.PReLU  
注記: これらのサポートされるレイヤーについて、DPU で制限がある場合があります。その場合、コンパイル中に CPU にロールバックされる可能性があります。詳細は、サポートされている演算子と DPU の制限 を参照してください。