共用方式為


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*

包含 Mean 資料的張量。

VarianceTensor

類型:const DML_TENSOR_DESC*

包含變異數資料的張量。

ScaleTensor

類型:const DML_TENSOR_DESC*

包含 Scale 資料的張量。

BiasTensor

類型:const DML_TENSOR_DESC*

包含偏差資料的張量。

OutputTensor

類型:const DML_TENSOR_DESC*

要寫入結果的張量。

Spatial

類型: BOOL

TRUE 表示指定位置為空間,否則為 FALSE。 將此設定為 FALSE 需要 MeanTensorVarianceTensor 的 Width 和 Height 維度不廣播。 此參數在 DML_FEATURE_LEVEL_4_0中已被取代,而且沒有任何作用。

Epsilon

類型: FLOAT

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

FusedActivation

類型:_Maybenull_ const DML_OPERATOR_DESC*

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

可用性

這個運算子是在 中 DML_FEATURE_LEVEL_1_0 引進。

Tensor 條件約束

  • BiasTensorInputTensorMeanTensorOutputTensorScaleTensorVarianceTensor 必須具有相同 的 DataTypeDimensionCount
  • InputTensorOutputTensor 必須具有相同 的大小

Tensor 支援

DML_FEATURE_LEVEL_3_1和更新版本

種類 維度 支援的維度計數 支援的資料類型
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和更新版本

種類 維度 支援的維度計數 支援的資料類型
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

需求

   
標頭 directml.h

另請參閱