DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC 구조체(directml.h)
입력 텐서에서 평균 분산 정규화 함수를 수행합니다. 이 연산자는 정규화를 수행하기 위해 입력 텐서의 평균 및 분산을 계산합니다. 이 연산자는 다음 계산을 수행합니다.
Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).
구문
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;
};
멤버
InputTensor
형식: const DML_TENSOR_DESC*
입력 데이터를 포함하는 텐서입니다. 이 텐서의 차원은 이어야 { BatchCount, ChannelCount, Height, Width }
합니다.
ScaleTensor
형식: _Maybenull_ const DML_TENSOR_DESC*
크기 조정 데이터를 포함하는 선택적 텐서입니다.
DML_FEATURE_LEVELDML_FEATURE_LEVEL_4_0 미만인 경우 이 텐서의 차원은 이어야 { ScaleBatchCount, ChannelCount, ScaleHeight, ScaleWidth }
합니다. ScaleBatchCount, ScaleHeight 및 ScaleWidth 차원은 InputTensor와 일치하거나 1로 설정하여 입력 간에 해당 차원을 자동으로 브로드캐스트해야 합니다.
DML_FEATURE_LEVELDML_FEATURE_LEVEL_4_0 보다 크거나 같으면 모든 차원을 1로 설정하고 InputTensor와 일치하도록 자동으로 브로드캐스트할 수 있습니다.
DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 미만인 경우 BiasTensor가 있는 경우 이 텐서가 필요합니다. DML_FEATURE_LEVELDML_FEATURE_LEVEL_5_2 보다 크거나 같으면 BiasTensor 값에 관계없이 이 텐서가 null일 수 있습니다.
BiasTensor
형식: _Maybenull_ const DML_TENSOR_DESC*
바이어스 데이터를 포함하는 선택적 텐서입니다.
DML_FEATURE_LEVELDML_FEATURE_LEVEL_4_0 미만인 경우 이 텐서의 차원은 이어야 { BiasBatchCount, ChannelCount, BiasHeight, BiasWidth }
합니다. BiasBatchCount, BiasHeight 및 BiasWidth 차원은 InputTensor와 일치하거나 1로 설정하여 입력 간에 해당 차원을 자동으로 브로드캐스트해야 합니다.
DML_FEATURE_LEVELDML_FEATURE_LEVEL_4_0 보다 크거나 같으면 모든 차원을 1로 설정하고 InputTensor와 일치하도록 자동으로 브로드캐스트할 수 있습니다.
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 }
.
AxisCount
형식: UINT
축의 수입니다. 이 필드는 축 배열의 크기를 결정 합니다 .
Axes
형식: _Field_size_(AxisCount) const UINT*
평균 및 분산을 계산할 축입니다.
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_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC 기능의 상위 집합입니다. 여기서 Axes 배열을 로 { 2, 3 }
설정하는 것은 DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESCCrossChannel을 FALSE로 설정하는 것과 같습니다. Axes 배열을 로 { 1, 2, 3 }
설정하는 것은 CrossChannel을 TRUE로 설정하는 것과 같습니다.
가용성
이 연산자는 에서 DML_FEATURE_LEVEL_2_1
도입되었습니다.
텐서 제약 조건
BiasTensor, InputTensor, OutputTensor 및 ScaleTensor 에는 동일한 DataType 및 DimensionCount가 있어야 합니다.
텐서 지원
DML_FEATURE_LEVEL_3_1 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 1-8 | FLOAT32, FLOAT16 |
ScaleTensor | 선택적 입력 | 1-8 | FLOAT32, FLOAT16 |
BiasTensor | 선택적 입력 | 1-8 | FLOAT32, FLOAT16 |
OutputTensor | 출력 | 1-8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_2_1 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 4 | FLOAT32, FLOAT16 |
ScaleTensor | 선택적 입력 | 4 | FLOAT32, FLOAT16 |
BiasTensor | 선택적 입력 | 4 | FLOAT32, FLOAT16 |
OutputTensor | 출력 | 4 | FLOAT32, FLOAT16 |
요구 사항
지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
지원되는 최소 서버 | Windows 10 빌드 20348 |
머리글 | directml.h |