다음을 통해 공유


DML_BATCH_NORMALIZATION_OPERATOR_DESC 구조체(directml.h)

입력에서 일괄 처리 정규화를 수행합니다. 이 연산자는 다음 계산을 수행합니다 Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).

MeanTensor, VarianceTensor, ScaleTensor 및 BiasTensor의 모든 차원을 1로 설정하고 InputTensor와 일치하도록 자동으로 브로드캐스트할 수 있지만 그렇지 않으면 InputTensor에서 해당 차원의 크기와 같아야 합니다.

구문

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

멤버

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

형식: const DML_TENSOR_DESC*

결과를 쓸 텐서입니다.

Spatial

형식: BOOL

TRUE 이면 위치가 공간이고 그렇지 않으면 FALSE입니다. 이를 FALSE 로 설정하려면 MeanTensorVarianceTensor 의 Width 및 Height 차원이 브로드캐스트되지 않도록 해야 합니다. 이 매개 변수는 DML_FEATURE_LEVEL_4_0 사용되지 않으며 아무런 영향을 주지 않습니다.

Epsilon

형식: FLOAT

0으로 나누기를 방지하는 데 사용할 epsilon 값입니다.

FusedActivation

형식: _Maybenull_ const DML_OPERATOR_DESC*

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

가용성

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

텐서 제약 조건

  • BiasTensor, InputTensor, MeanTensor, OutputTensor, ScaleTensorVarianceTensor 에는 동일한 DataTypeDimensionCount가 있어야 합니다.
  • InputTensorOutputTensor크기는 같아야 합니다.

텐서 지원

DML_FEATURE_LEVEL_3_1 이상

텐서 Kind 차원 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 { InputDimensions[] } 1~8개 FLOAT32, FLOAT16
MeanTensor 입력 { MeanDimensions[] } 1~8개 FLOAT32, FLOAT16
VarianceTensor 입력 { VarianceDimensions[] } 1~8개 FLOAT32, FLOAT16
ScaleTensor 입력 { ScaleDimensions[] } 1~8개 FLOAT32, FLOAT16
BiasTensor 입력 { BiasDimensions[] } 1~8개 FLOAT32, FLOAT16
OutputTensor 출력 { InputDimensions[] } 1~8개 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_1_0 이상

텐서 Kind 차원 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 { InputDimensions[] } 4 FLOAT32, FLOAT16
MeanTensor 입력 { MeanDimensions[] } 4 FLOAT32, FLOAT16
VarianceTensor 입력 { VarianceDimensions[] } 4 FLOAT32, FLOAT16
ScaleTensor 입력 { ScaleDimensions[] } 4 FLOAT32, FLOAT16
BiasTensor 입력 { BiasDimensions[] } 4 FLOAT32, FLOAT16
OutputTensor 출력 { InputDimensions[] } 4 FLOAT32, FLOAT16

요구 사항

   
머리글 directml.h

추가 정보