Dequantize

공개 최종 클래스 역양자화

'입력' 텐서를 float 또는 bfloat16 텐서로 역양자화합니다.

[min_range, max_range]는 출력 범위를 지정하는 스칼라 부동 소수점입니다. 'mode' 속성은 float 값을 양자화된 값으로 변환하는 데 사용되는 계산을 정확하게 제어합니다.

'MIN_COMBINED' 모드에서 텐서의 각 값은 다음을 수행합니다.

if T == qint8: in[i] += (range(T) + 1)/ 2.0
 out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
 
여기 `범위(T) = 숫자_한계 ::max() - 숫자 제한 ::최소()`

MIN_COMBINED 모드 예

입력이 QuantizedRelu6에서 오는 경우 출력 유형은 quint8(0-255 범위)이지만 QuantizedRelu6의 가능한 범위는 0-6입니다. 따라서 min_range 및 max_range 값은 0.0과 6.0입니다. quint8의 역양자화는 각 값을 가져와 부동 소수점으로 변환하고 6/255를 곱합니다. 양자화 유형이 qint8인 경우 작업은 캐스팅하기 전에 각 값에 128을 추가로 추가합니다.

모드가 'MIN_FIRST'인 경우 다음 접근 방식이 사용됩니다.

num_discrete_values = 1 << (# of bits in T)
 range_adjust = num_discrete_values / (num_discrete_values - 1)
 range = (range_max - range_min) * range_adjust
 range_scale = range / num_discrete_values
 const double offset_input = static_cast<double>(input) - lowest_quantized;
 result = range_min + ((input - numeric_limits<T>::min()) * range_scale)
 
모드가 'SCALED'인 경우 각 입력 값에 Scaling_factor를 곱하여 역양자화를 수행합니다. (따라서 0의 입력은 항상 0.0으로 매핑됩니다.)

scale_factor는 다음 알고리즘을 사용하여 `QuantizeAndDeQuantize{V2|V3}` 및 `QuantizeV2`와 호환되는 방식으로 `min_range`, `max_range` 및 `narrow_range`에서 결정됩니다.

const int min_expected_T = std::numeric_limits<T>::min() +
     (narrow_range ? 1 : 0);
   const int max_expected_T = std::numeric_limits<T>::max();
   const float max_expected_T = std::numeric_limits<float>::max();
 
   const float scale_factor =
     (std::numeric_limits<T>::min() == 0) ? (max_range / max_expected_T)
                                          : std::max(min_range / min_expected_T,
                                                     max_range / max_expected_T);
 

중첩 클래스

수업 역양자화.옵션 Dequantize 의 선택적 속성

상수

OP_NAME TensorFlow 핵심 엔진에서 알려진 이 작업의 이름

공개 방법

출력 <U>
출력 ()
텐서의 기호 핸들을 반환합니다.
정적 DeQuantize.Options
(장축)
static <U는 TNumber를 확장합니다. > 역양자화 <U>
생성 ( 범위 범위, 피연산자 <? 확장 TType > 입력, 피연산자 < TFloat32 > minRange, 피연산자 < TFloat32 > maxRange, Class<U> dtype, 옵션... 옵션)
새로운 DeQuantize 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 역양자화 < TFloat32 >
생성 ( 범위 범위, 피연산자 <? 확장 TType > 입력, 피연산자 < TFloat32 > minRange, 피연산자 < TFloat32 > maxRange, 옵션... 옵션)
기본 출력 유형을 사용하여 새로운 역양자화 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 DeQuantize.Options
모드 (문자열 모드)
정적 DeQuantize.Options
NarrowRange (부울 NarrowRange)
출력 <U>
출력 ()

상속된 메서드

org.tensorflow.op.RawOp 클래스에서
최종 부울
같음 (객체 객체)
최종 정수
작업
op ()
이 계산 단위를 단일 Operation 으로 반환합니다.
최종 문자열
부울
같음 (개체 arg0)
마지막 수업<?>
getClass ()
정수
해시코드 ()
최종 무효
알림 ()
최종 무효
통지모두 ()
toString ()
최종 무효
대기 (long arg0, int arg1)
최종 무효
기다리세요 (긴 arg0)
최종 무효
기다리다 ()
org.tensorflow.op.Op 에서
추상 실행환경
환경 ()
이 작업이 생성된 실행 환경을 반환합니다.
추상적인 작업
op ()
이 계산 단위를 단일 Operation 으로 반환합니다.
org.tensorflow.Operand 에서
추상 출력 <U는 Tnumber를 확장합니다>
출력 ()
텐서의 기호 핸들을 반환합니다.
추상 U는 T번호를 확장합니다.
텐서 ()
이 피연산자의 텐서를 반환합니다.
추상 모양
모양 ()
이 피연산자의 Output 에서 ​​참조하는 텐서의 (아마도 부분적으로 알려진) 모양을 반환합니다.
추상 클래스<U는 T번호를 확장합니다>
유형 ()
이 피연산자의 텐서 유형을 반환합니다.
org.tensorflow.ndarray.Shaped 에서
추상 정수
순위 ()
추상 모양
모양 ()
추상적인 긴
사이즈 ()
이 컨테이너의 전체 크기를 값 개수로 계산하고 반환합니다.

상수

공개 정적 최종 문자열 OP_NAME

TensorFlow 핵심 엔진에서 알려진 이 작업의 이름

상수 값: "역양자화"

공개 방법

공개 출력 <U> asOutput ()

텐서의 기호 핸들을 반환합니다.

TensorFlow 작업에 대한 입력은 다른 TensorFlow 작업의 출력입니다. 이 메서드는 입력 계산을 나타내는 기호 핸들을 얻는 데 사용됩니다.

public static DeQuantize.Options (장축)

공개 정적 역양자화 <U> 생성 ( 범위 범위, 피연산자 <? 확장 TType > 입력, 피연산자 < TFloat32 > minRange, 피연산자 < TFloat32 > maxRange, Class<U> dtype, 옵션... 옵션)

새로운 DeQuantize 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
최소 범위 입력에 대해 생성될 수 있는 최소 스칼라 값입니다.
최대 범위 입력에 대해 생성될 수 있는 최대 스칼라 값입니다.
dtype 출력 텐서의 유형입니다. 현재 DeQuantize는 float 및 bfloat16을 지원합니다. 'dtype'이 'bfloat16'인 경우 'MIN_COMBINED' 모드만 지원합니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • DeQuantize의 새로운 인스턴스

공개 정적 역양자화 < TFloat32 > 생성 ( 범위 범위, 피연산자 <? 확장 TType > 입력, 피연산자 < TFloat32 > minRange, 피연산자 < TFloat32 > maxRange, 옵션... 옵션)

기본 출력 유형을 사용하여 새로운 역양자화 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
최소 범위 입력에 대해 생성될 수 있는 최소 스칼라 값입니다.
최대 범위 입력에 대해 생성될 수 있는 최대 스칼라 값입니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • DeQuantize의 새로운 인스턴스

public static DeQuantize.Options 모드 (문자열 모드)

공개 정적 DeQuantize.OptionsarrowRange ( BooleanarrowRange)

공개 출력 <U> 출력 ()