共用方式為


DML_BATCH_NORMALIZATION_TRAINING_OPERATOR_DESC 結構 (directml.h)

在輸入上執行批次正規化。 此運算符會執行下列計算: Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias + FusedAdd)

ScaleTensorBiasTensor 中的任何維度都可以設定為 1,而且會自動廣播以符合 InputTensor,但否則必須等於 InputTensor 的對應維度大小。 MeanTensorVarianceTensor 會在 ScaleTensorBiasTensor 大小等於一的維度集合上計算輸入。

語法

struct DML_BATCH_NORMALIZATION_TRAINING_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *FusedAddTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  const DML_TENSOR_DESC   *OutputMeanTensor;
  const DML_TENSOR_DESC   *OutputVarianceTensor;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

成員

InputTensor

類型: const DML_TENSOR_DESC*

包含輸入數據的張量。

ScaleTensor

類型: const DML_TENSOR_DESC*

包含 Scale 資料的張量。

BiasTensor

類型: const DML_TENSOR_DESC*

包含偏差數據的張量。

FusedAddTensor

類型: _Maybenull_ const DML_TENSOR_DESC*

選擇性的張量,其中包含在 FusedActivation 之前新增至結果的數據,如果有的話。

OutputTensor

類型: const DML_TENSOR_DESC*

要寫入結果的張量。

OutputMeanTensor

類型: const DML_TENSOR_DESC*

要寫入輸入平均值的 Tensor。

OutputVarianceTensor

類型: const DML_TENSOR_DESC*

要寫入輸入變異數的 Tensor。

Epsilon

類型: FLOAT

要用來避免除以零的 epsilon 值。

FusedActivation

類型:_Maybenull_ const DML_OPERATOR_DESC*

要在正規化之後套用的選擇性融合啟用層。 如需詳細資訊,請參閱 使用 fused 運算子改善效能

備註

可用性

這個運算子是在 中 DML_FEATURE_LEVEL_4_1引進的。

Tensor 條件約束

  • BiasTensorFusedAddTensorInputTensorOutputMeanTensorOutputTensorOutputVarianceTensorScaleTensor 必須具有相同 的 DataTypeDimensionCount
  • BiasTensorOutputMeanTensorOutputVarianceTensorScaleTensor 必須具有相同 的大小
  • FusedAddTensorInputTensorOutputTensor 必須具有相同 的大小

Tensor 支援

DML_FEATURE_LEVEL_4_1和更新版本

種類 維度 支援的維度計數 支援的資料類型
InputTensor 輸入 { InputDimensions[] } 1 到 8 FLOAT32、FLOAT16
ScaleTensor 輸入 { ScaleDimensions[] } 1 到 8 FLOAT32、FLOAT16
BiasTensor 輸入 { ScaleDimensions[] } 1 到 8 FLOAT32、FLOAT16
FusedAddTensor 選擇性輸入 { InputDimensions[] } 1 到 8 FLOAT32、FLOAT16
OutputTensor 輸出 { InputDimensions[] } 1 到 8 FLOAT32、FLOAT16
OutputMeanTensor 輸出 { ScaleDimensions[] } 1 到 8 FLOAT32、FLOAT16
OutputVarianceTensor 輸出 { ScaleDimensions[] } 1 到 8 FLOAT32、FLOAT16

規格需求

需求
標頭 directml.h

另請參閱