Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 |