Compartilhar via


estrutura DML_BATCH_NORMALIZATION_OPERATOR_DESC (directml.h)

Executa uma normalização em lote na entrada. Esse operador executa a seguinte computação: Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).

Qualquer dimensão em MeanTensor, VarianceTensor, ScaleTensor e BiasTensor pode ser definida como 1 e ser transmitida automaticamente para corresponder a InputTensor, mas, caso contrário, deve ser igual ao tamanho da dimensão correspondente de InputTensor.

Sintaxe

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;
};

Membros

InputTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados de entrada.

MeanTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados Mean.

VarianceTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados de variação.

ScaleTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados de escala.

BiasTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados de viés.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Um tensor para o qual gravar os resultados.

Spatial

Tipo: BOOL

TRUE para especificar que os locais são espaciais, caso contrário, FALSE. Definir isso como FALSE exigirá que as dimensões Width e Height de MeanTensor e VarianceTensor não sejam transmitidas . Esse parâmetro foi preterido em DML_FEATURE_LEVEL_4_0 e não tem efeito.

Epsilon

Tipo: FLOAT

O valor de epsilon a ser usado para evitar a divisão por zero.

FusedActivation

Tipo: _Maybenull_ const DML_OPERATOR_DESC*

Uma camada de ativação fundida opcional a ser aplicada após a normalização. Para obter mais informações, consulte Usando operadores fundidos para melhorar o desempenho.

Disponibilidade

Esse operador foi introduzido em DML_FEATURE_LEVEL_1_0.

Restrições do Tensor

  • BiasTensor, InputTensor, MeanTensor, OutputTensor, ScaleTensor e VarianceTensor devem ter os mesmos DataType e DimensionCount.
  • InputTensor e OutputTensor devem ter os mesmos Tamanhos.

Suporte ao Tensor

DML_FEATURE_LEVEL_3_1 e superior

Tensor Tipo Dimensões Contagens de dimensões com suporte Tipos de dados com suporte
InputTensor Entrada { InputDimensions[] } 1 a 8 FLOAT32, FLOAT16
MeanTensor Entrada { MeanDimensions[] } 1 a 8 FLOAT32, FLOAT16
VarianceTensor Entrada { VarianceDimensions[] } 1 a 8 FLOAT32, FLOAT16
ScaleTensor Entrada { ScaleDimensions[] } 1 a 8 FLOAT32, FLOAT16
BiasTensor Entrada { BiasDimensions[] } 1 a 8 FLOAT32, FLOAT16
OutputTensor Saída { InputDimensions[] } 1 a 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_1_0 e superior

Tensor Tipo Dimensões Contagens de dimensões com suporte Tipos de dados com suporte
InputTensor Entrada { InputDimensions[] } 4 FLOAT32, FLOAT16
MeanTensor Entrada { MeanDimensions[] } 4 FLOAT32, FLOAT16
VarianceTensor Entrada { VarianceDimensions[] } 4 FLOAT32, FLOAT16
ScaleTensor Entrada { ScaleDimensions[] } 4 FLOAT32, FLOAT16
BiasTensor Entrada { BiasDimensions[] } 4 FLOAT32, FLOAT16
OutputTensor Saída { InputDimensions[] } 4 FLOAT32, FLOAT16

Requisitos

   
Cabeçalho directml.h

Confira também