estrutura DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC (directml.h)
Executa uma função de normalização de variação média no tensor de entrada. Esse operador calculará a média e a variação do tensor de entrada para executar a normalização. Esse operador executa a computação a seguir.
Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).
Sintaxe
struct DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *BiasTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT AxisCount;
const UINT *Axes;
BOOL NormalizeVariance;
FLOAT Epsilon;
const DML_OPERATOR_DESC *FusedActivation;
};
Membros
InputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de entrada. As dimensões desse tensor devem ser { BatchCount, ChannelCount, Height, Width }
.
ScaleTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém os dados de escala.
Se DML_FEATURE_LEVEL for menor que DML_FEATURE_LEVEL_4_0, as dimensões desse tensor deverão ser { ScaleBatchCount, ChannelCount, ScaleHeight, ScaleWidth }
. As dimensões ScaleBatchCount, ScaleHeight e ScaleWidth devem corresponder a InputTensor ou ser definidas como 1 para transmitir automaticamente essas dimensões pela entrada.
Se DML_FEATURE_LEVEL for maior ou igual a DML_FEATURE_LEVEL_4_0, qualquer dimensão poderá ser definida como 1 e ser transmitida automaticamente para corresponder a InputTensor.
Se DML_FEATURE_LEVEL for menor que DML_FEATURE_LEVEL_5_2, esse tensor será necessário se BiasTensor estiver presente. Se DML_FEATURE_LEVEL for maior ou igual a DML_FEATURE_LEVEL_5_2, esse tensor poderá ser nulo, independentemente do valor de BiasTensor.
BiasTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém os dados bias.
Se DML_FEATURE_LEVEL for menor que DML_FEATURE_LEVEL_4_0, as dimensões desse tensor deverão ser { BiasBatchCount, ChannelCount, BiasHeight, BiasWidth }
. As dimensões BiasBatchCount, BiasHeight e BiasWidth devem corresponder a InputTensor ou ser definidas como 1 para transmitir automaticamente essas dimensões pela entrada.
Se DML_FEATURE_LEVEL for maior ou igual a DML_FEATURE_LEVEL_4_0, qualquer dimensão poderá ser definida como 1 e ser transmitida automaticamente para corresponder a InputTensor.
Se DML_FEATURE_LEVEL for menor que DML_FEATURE_LEVEL_5_2, esse tensor será necessário se ScaleTensor estiver presente. Se DML_FEATURE_LEVEL for maior ou igual a DML_FEATURE_LEVEL_5_2, esse tensor poderá ser nulo, independentemente do valor de ScaleTensor.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor para o qual gravar os resultados. As dimensões desse tensor são { BatchCount, ChannelCount, Height, Width }
.
AxisCount
Tipo: UINT
O número de eixos. Esse campo determina o tamanho da matriz Axes .
Axes
Tipo: _Field_size_(AxisCount) const UINT*
Os eixos ao longo dos quais calcular a Média e a Variação.
NormalizeVariance
Tipo: BOOL
TRUE se a camada Normalização incluir Variação no cálculo de normalização. Caso contrário, FALSE. Se FALSE, a equação de normalização será Output = FusedActivation(Scale * (Input - Mean) + Bias)
.
Epsilon
Tipo: FLOAT
O valor de epsilon a ser usado para evitar a divisão por zero. Um valor de 0,00001 é recomendado como padrão.
FusedActivation
Tipo: _Maybenull_ const DML_OPERATOR_DESC*
Uma camada de ativação fundida opcional a ser aplicada após a normalização.
Comentários
DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC é um superconjunto de funcionalidade de DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC. Aqui, definir a matriz { 2, 3 }
Axes como é o equivalente a definir CrossChannel como FALSE em DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC; ao definir a matriz { 1, 2, 3 }
Axes como é equivalente a definir CrossChannel como TRUE.
Disponibilidade
Esse operador foi introduzido em DML_FEATURE_LEVEL_2_1
.
Restrições do Tensor
BiasTensor, InputTensor, OutputTensor e ScaleTensor devem ter os mesmos DataType e DimensionCount.
Suporte ao Tensor
DML_FEATURE_LEVEL_3_1 e superior
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputTensor | Entrada | 1 a 8 | FLOAT32, FLOAT16 |
ScaleTensor | Entrada opcional | 1 a 8 | FLOAT32, FLOAT16 |
BiasTensor | Entrada opcional | 1 a 8 | FLOAT32, FLOAT16 |
OutputTensor | Saída | 1 a 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_2_1 e superior
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputTensor | Entrada | 4 | FLOAT32, FLOAT16 |
ScaleTensor | Entrada opcional | 4 | FLOAT32, FLOAT16 |
BiasTensor | Entrada opcional | 4 | FLOAT32, FLOAT16 |
OutputTensor | Saída | 4 | FLOAT32, FLOAT16 |
Requisitos
Cliente mínimo com suporte | Windows 10 Build 20348 |
Servidor mínimo com suporte | Windows 10 Build 20348 |
Cabeçalho | directml.h |