Google I/O에 참여해 주셔서 감사합니다. 주문형 모든 세션 보기 주문형 시청

tensorflow :: ops :: QuantizeDownAndShrinkRange

#include <math_ops.h>

다음을 사용하여 양자화 된 '입력'텐서를 더 낮은 정밀도의 '출력'으로 변환합니다.

요약

낮은 비트 심도의 사용을 최대화하고 그에 따라 출력 최소 및 최대 범위를 조정하기위한 값의 실제 분포.

[input_min, input_max]는 'input'데이터의 부동 소수점 해석 범위를 지정하는 스칼라 부동 소수점입니다. 예를 들어 input_min이 -1.0f이고 input_max가 1.0f이고 quint16 양자화 된 데이터를 처리하는 경우 16 비트 데이터의 0 값은 -1.0f로 해석되어야하며 65535는 1.0f를 의미합니다.

이 연산자는 데이터에서 발견 된 실제 최소값과 최대 값을 계산하여 비트 깊이가 더 낮은 출력에 가능한 한 많은 정밀도를 압축하려고합니다. 예를 들어, 해당 quint16 입력에는 16,384보다 낮은 값과 49,152보다 높은 값이 없을 수 있습니다. 즉, 실제로 범위의 절반 만 필요하고 모든 float 해석은 -0.5f에서 0.5f 사이이므로 데이터를 quint8 출력으로 압축하려면 이론적 인 -1.0f에서 1.0이 아닌 해당 범위를 사용할 수 있습니다. f는 입력 최소 및 최대로 제안됩니다.

실제로 이것은 입력보다 더 높은 비트 심도 출력을 생성 할 수 있고 잠재적 출력 범위가 클 수있는 QuantizedMatMul 과 같은 작업에서 출력을 가져 오는 데 가장 유용하지만 실제로는 가능한 범위. 해당 출력을이 연산자에 공급함으로써 정확도 손실을 최소화하면서 32 비트에서 8 비트로 줄일 수 있습니다.

인수 :

  • 범위 : 범위 개체
  • input_min : 최소 양자화 된 입력 값이 나타내는 부동 소수점 값입니다.
  • input_max : 최대 양자화 된 입력 값이 나타내는 부동 값입니다.
  • out_type : 출력 유형입니다. Tinput보다 낮은 비트 심도 여야합니다.

보고:

  • Output 출력
  • Output output_min : 최소 양자화 된 출력 값이 나타내는 부동 값입니다.
  • Output output_max : 최대 양자화 된 출력 값이 나타내는 부동 값입니다.

생성자와 소멸자

QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type)

공용 속성

operation
output
output_max
output_min

공용 속성

조작

Operation operation

산출

::tensorflow::Output output

output_max

::tensorflow::Output output_max

output_min

::tensorflow::Output output_min

공공 기능

QuantizeDownAndShrinkRange

 QuantizeDownAndShrinkRange(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input input_min,
  ::tensorflow::Input input_max,
  DataType out_type
)