DML_MEAN_VARIANCE_NORMALIZATION2_OPERATOR_DESC structure (directml.h)
TBD
Important
This API is available as part of the DirectML standalone redistributable package (see Microsoft.AI.DirectML version 1.15.0 and later. Also see DirectML version history.
Syntax
struct DML_MEAN_VARIANCE_NORMALIZATION2_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputTensor;
_Maybenull_ const DML_TENSOR_DESC* ScaleTensor;
_Maybenull_ const DML_TENSOR_DESC* BiasTensor;
const DML_TENSOR_DESC* OutputTensor;
UINT AxisCount;
_Field_size_(AxisCount) const UINT* Axes;
BOOL UseMean;
BOOL UseVariance;
FLOAT Epsilon;
_Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
};
Members
InputTensor
Type: const DML_TENSOR_DESC*
A tensor containing the Input data. This tensor's dimensions should be { BatchCount, ChannelCount, Height, Width }
.
ScaleTensor
Type: _Maybenull_ const DML_TENSOR_DESC*
An optional tensor containing the Scale data.
If DML_FEATURE_LEVEL is less than DML_FEATURE_LEVEL_4_0, then this tensor's dimensions should be { ScaleBatchCount, ChannelCount, ScaleHeight, ScaleWidth }
. The dimensions ScaleBatchCount, ScaleHeight, and ScaleWidth should either match InputTensor, or be set to 1 to automatically broadcast those dimensions across the input.
If DML_FEATURE_LEVEL is greater than or equal to DML_FEATURE_LEVEL_4_0, then any dimension can be set to 1, and be automatically broadcast to match InputTensor.
If DML_FEATURE_LEVEL is less than DML_FEATURE_LEVEL_5_2, then this tensor is required if BiasTensor is present. If DML_FEATURE_LEVEL is greater than or equal to DML_FEATURE_LEVEL_5_2, then this tensor can be null regardless of the value of BiasTensor.
BiasTensor
Type: _Maybenull_ const DML_TENSOR_DESC*
An optional tensor containing the Bias data.
If DML_FEATURE_LEVEL is less than DML_FEATURE_LEVEL_4_0, then this tensor's dimensions should be { BiasBatchCount, ChannelCount, BiasHeight, BiasWidth }
. The dimensions BiasBatchCount, BiasHeight, and BiasWidth should either match InputTensor, or be set to 1 to automatically broadcast those dimensions across the input.
If DML_FEATURE_LEVEL is greater than or equal to DML_FEATURE_LEVEL_4_0, then any dimension can be set to 1, and be automatically broadcast to match InputTensor.
If DML_FEATURE_LEVEL is less than DML_FEATURE_LEVEL_5_2, then this tensor is required if ScaleTensor is present. If DML_FEATURE_LEVEL is greater than or equal to DML_FEATURE_LEVEL_5_2, then this tensor can be null regardless of the value of ScaleTensor.
OutputTensor
Type: const DML_TENSOR_DESC*
A tensor to write the results to. This tensor's dimensions are { BatchCount, ChannelCount, Height, Width }
.
AxisCount
Type: UINT
The number of axes. This field determines the size of the Axes array.
Axes
Type: _Field_size_(AxisCount) const UINT*
The axes along which to calculate the Mean and Variance.
UseMean
Type: BOOL
TBD
UseVariance
Type: BOOL
TBD
Epsilon
Type: FLOAT
The epsilon value to use to avoid division by zero. A value of 0.00001 is recommended as default.
FusedActivation
Type: _Maybenull_ const DML_OPERATOR_DESC*
An optional fused activation layer to apply after the normalization.
Availability
This operator was introduced in DML_FEATURE_LEVEL_6_3.
Tensor constraints
BiasTensor, InputTensor, OutputTensor, and ScaleTensor must have the same DataType and DimensionCount.
Tensor support
Tensor | Kind | Supported dimension counts | Supported data types |
---|---|---|---|
InputTensor | Input | 1 to 8 | FLOAT32, FLOAT16 |
ScaleTensor | Optional input | 1 to 8 | FLOAT32, FLOAT16 |
BiasTensor | Optional input | 1 to 8 | FLOAT32, FLOAT16 |
OutputTensor | Output | 1 to 8 | FLOAT32, FLOAT16 |