DML_BATCH_NORMALIZATION_OPERATOR_DESC結構 (directml.h)
在輸入上執行批次正規化。 此運算子會執行下列計算: Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias)
。
MeanTensor、VarianceTensor、ScaleTensor和BiasTensor中的任何維度都可以設定為 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 需要 MeanTensor 和 VarianceTensor 的 Width 和 Height 維度不廣播。 此參數在 DML_FEATURE_LEVEL_4_0中已被取代,而且沒有任何作用。
Epsilon
類型: FLOAT
要用來避免除以零的 epsilon 值。
FusedActivation
類型:_Maybenull_ const DML_OPERATOR_DESC*
正規化之後要套用的選擇性融合啟用層。 如需詳細資訊,請參閱 使用融合運算子來改善效能。
可用性
這個運算子是在 中 DML_FEATURE_LEVEL_1_0
引進。
Tensor 條件約束
- BiasTensor、 InputTensor、 MeanTensor、 OutputTensor、 ScaleTensor和 VarianceTensor 必須具有相同 的 DataType 和 DimensionCount。
- InputTensor 和 OutputTensor 必須具有相同 的大小。
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 |