다음을 통해 공유


DML_ELEMENT_WISE_CLIP_OPERATOR_DESC 구조체(directml.h)

InputTensor의 각 요소에 대해 다음 작업을 수행하여 결과를 OutputTensor의 해당 요소에 배치합니다. 이 연산자는 닫힌 간격 [최소, 최대] 내에서 입력의 모든 요소를 클램프(또는 제한)합니다.

f(x) = max(Min, min(x, Max))

여기서 max(a,b)는 두 값 중 더 큰 값을 반환하고 min(a,b)은 두 값 a,b 중 더 작은 값을 반환합니다.

이 연산자는 현재 위치 실행을 지원합니다. 즉, OutputTensor 는 바인딩 중에 InputTensor 별칭을 지정하도록 허용됩니다.

구문

struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_SCALE_BIAS  *ScaleBias;
  FLOAT                 Min;
  FLOAT                 Max;
};

멤버

InputTensor

형식: const DML_TENSOR_DESC*

읽을 입력 텐서입니다.

OutputTensor

형식: const DML_TENSOR_DESC*

결과를 쓸 출력 텐서입니다.

ScaleBias

형식: _Maybenull_ const DML_SCALE_BIAS*

입력에 적용할 선택적 배율 및 바이어스입니다. 있는 경우 이 연산자를 계산하기 전에 각 입력 요소에 함수 g(x) = x * scale + bias 를 적용하는 효과가 있습니다.

Min

형식: FLOAT

연산자가 값을 Min으로 바꾸는 최소값입니다.

Max

형식: FLOAT

연산자가 값을 Max로 바꾸는 최대값입니다.

설명

텐서 데이터 형식이 float가 아닌 경우 MinMax 는 클리핑 작업을 적용하기 전에 텐서 데이터 형식으로 캐스팅됩니다(정수의 경우 0으로 잘림을 의미하고 가장 가까운 짝수로 반올림되는 부동 소수점 값의 경우).

가용성

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

텐서 제약 조건

InputTensorOutputTensor 에는 동일한 DataType, DimensionCount크기가 있어야 합니다.

텐서 지원

DML_FEATURE_LEVEL_5_0 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 1~8개 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor 출력 1~8개 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_0 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 1~8개 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor 출력 1~8개 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor 출력 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 4 FLOAT32, FLOAT16
OutputTensor 출력 4 FLOAT32, FLOAT16

요구 사항

요구 사항
헤더 directml.h