다음을 통해 공유


DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC 구조체(directml.h)

입력 텐서에서 평균 분산 정규화 함수를 수행합니다. 이 연산자는 정규화를 수행하기 위해 입력 텐서의 평균 및 분산을 계산합니다. 이 연산자는 다음 계산을 수행합니다.

Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).

구문

struct DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  BOOL                    CrossChannel;
  BOOL                    NormalizeVariance;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

멤버

InputTensor

형식: const DML_TENSOR_DESC*

입력 데이터를 포함하는 텐서입니다. 이 텐서의 차원은 이어야 { BatchCount, ChannelCount, Height, Width }합니다.

ScaleTensor

형식: _Maybenull_ const DML_TENSOR_DESC*

크기 조정 데이터를 포함하는 선택적 텐서입니다. 이 텐서의 차원은 이어야 { BatchCount, ChannelCount, Height, Width }합니다. 모든 차원을 1로 바꿔 해당 차원으로 브로드캐스트할 수 있습니다. DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 미만인 경우 BiasTensor가 있는 경우 이 텐서가 필요합니다. DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 보다 크거나 같으면 BiasTensor 값에 관계없이 이 텐서가 null일 수 있습니다.

BiasTensor

형식: _Maybenull_ const DML_TENSOR_DESC*

바이어스 데이터를 포함하는 선택적 텐서입니다. 이 텐서의 차원은 이어야 { BatchCount, ChannelCount, Height, Width }합니다. 모든 차원을 1로 바꿔 해당 차원으로 브로드캐스트할 수 있습니다. DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 미만인 경우 ScaleTensor가 있는 경우 이 텐서가 필요합니다. DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 보다 크거나 같으면 ScaleTensor 값에 관계없이 이 텐서가 null일 수 있습니다.

OutputTensor

형식: const DML_TENSOR_DESC*

결과를 쓸 텐서입니다. 이 텐서의 차원은 입니다 { BatchCount, ChannelCount, Height, Width }.

CrossChannel

형식: BOOL

TRUE이면 MeanVariance 계층에 평균 및 분산 계산에 채널이 포함됩니다. 즉, 축 {ChannelCount, Height, Width}간에 정규화됩니다. FALSE이면 각 채널이 독립적인 축 {Height, Width} 간에 평균 및 분산 계산이 정규화됩니다.

NormalizeVariance

형식: BOOL

정규 화 계층에 정규화 계산에 분산이 포함되어 있으면 TRUE입니다. 그렇지 않으면 FALSE입니다. FALSE이면 정규화 수식은 입니다Output = FusedActivation(Scale * (Input - Mean) + Bias).

Epsilon

형식: FLOAT

0으로 나누기를 방지하는 데 사용할 epsilon 값입니다. 0.000001 값은 기본값으로 권장됩니다.

FusedActivation

형식: _Maybenull_ const DML_OPERATOR_DESC*

정규화 후에 적용할 선택적 융합 활성화 계층입니다. 자세한 내용은 성능 향상을 위해 융합 연산자 사용을 참조하세요.

설명

이 연산자의 최신 버전인 DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESCDML_FEATURE_LEVEL_2_1도입되었습니다.

가용성

이 연산자는 에서 DML_FEATURE_LEVEL_1_0도입되었습니다.

텐서 제약 조건

  • InputTensorOutputTensor크기는 같아야 합니다.
  • BiasTensor, InputTensor, OutputTensorScaleTensor 에는 동일한 DataType이 있어야 합니다.

텐서 지원

텐서 종류 차원 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 { BatchCount, ChannelCount, Height, Width } 4 FLOAT32, FLOAT16
ScaleTensor 선택적 입력 { ScaleBatchCount, ScaleChannelCount, ScaleHeight, ScaleWidth } 4 FLOAT32, FLOAT16
BiasTensor 선택적 입력 { BiasBatchCount, BiasChannelCount, BiasHeight, BiasWidth } 4 FLOAT32, FLOAT16
OutputTensor 출력 { BatchCount, ChannelCount, Height, Width } 4 FLOAT32, FLOAT16

요구 사항

   
머리글 directml.h

추가 정보