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 로 설정하려면 MeanTensor 및 VarianceTensor 의 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, ScaleTensor 및 VarianceTensor 에는 동일한 DataType 및 DimensionCount가 있어야 합니다.
- InputTensor 및 OutputTensor 의 크기는 같아야 합니다.
텐서 지원
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 |