DML_BATCH_NORMALIZATION_OPERATOR_DESC構造体 (directml.h)

入力に対してバッチ正規化を実行します。 この演算子は、次の計算を実行します。 Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias)

MeanTensorVarianceTensorScaleTensorBiasTensor のディメンションは 1 に設定でき、InputTensor と一致するように自動的にブロードキャストできますが、それ以外の場合は InputTensor の対応するディメンションのサイズと等しい必要があります。

構文

struct DML_BATCH_NORMALIZATION_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *MeanTensor;
  const DML_TENSOR_DESC   *VarianceTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  BOOL                    Spatial;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

メンバー

InputTensor

型: const DML_TENSOR_DESC*

入力データを含むテンソル。

MeanTensor

型: const DML_TENSOR_DESC*

平均データを含むテンソル。

VarianceTensor

型: const DML_TENSOR_DESC*

分散データを含むテンソル。

ScaleTensor

型: const DML_TENSOR_DESC*

Scale データを含むテンソル。

BiasTensor

型: const DML_TENSOR_DESC*

Bias データを含むテンソル。

OutputTensor

型: const DML_TENSOR_DESC*

結果を書き込むテンソル。

Spatial

種類: BOOL

場所 が空間であることを指定する場合は TRUE、それ以外の場合は FALSE。 これを FALSE に設定するには、 MeanTensor および VarianceTensor の Width ディメンションと Height ディメンション ブロードキャストしないようにする必要があります。 このパラメーターは DML_FEATURE_LEVEL_4_0では非推奨となり、影響はありません。

Epsilon

型: FLOAT

ゼロによる除算を回避するために使用する epsilon 値。

FusedActivation

型: _Maybenull_ const DML_OPERATOR_DESC*

正規化後に適用するオプションの融合アクティブ化レイヤー。 詳細については、「パフォーマンスを 向上させるために融合演算子を使用する」を参照してください。

可用性

この演算子は で DML_FEATURE_LEVEL_1_0導入されました。

テンソル制約

  • BiasTensorInputTensorMeanTensorOutputTensorScaleTensorVarianceTensor は、 同じ DataTypeDimensionCount を持つ必要があります。
  • InputTensorOutputTensor のサイズは同じである必要があります。

Tensor のサポート

DML_FEATURE_LEVEL_3_1以上

テンソル 種類 Dimensions サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 { InputDimensions[] } 1 から 8 FLOAT32、FLOAT16
MeanTensor 入力 { MeanDimensions[] } 1 から 8 FLOAT32、FLOAT16
VarianceTensor 入力 { VarianceDimensions[] } 1 から 8 FLOAT32、FLOAT16
ScaleTensor 入力 { ScaleDimensions[] } 1 から 8 FLOAT32、FLOAT16
BiasTensor 入力 { BiasDimensions[] } 1 から 8 FLOAT32、FLOAT16
OutputTensor 出力 { InputDimensions[] } 1 から 8 FLOAT32、FLOAT16

DML_FEATURE_LEVEL_1_0以上

テンソル 種類 Dimensions サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 { InputDimensions[] } 4 FLOAT32、FLOAT16
MeanTensor 入力 { MeanDimensions[] } 4 FLOAT32、FLOAT16
VarianceTensor 入力 { VarianceDimensions[] } 4 FLOAT32、FLOAT16
ScaleTensor 入力 { ScaleDimensions[] } 4 FLOAT32、FLOAT16
BiasTensor 入力 { BiasDimensions[] } 4 FLOAT32、FLOAT16
OutputTensor 出力 { InputDimensions[] } 4 FLOAT32、FLOAT16

要件

   
Header directml.h

関連項目