Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

tensorflow :: ops :: QuantizeDownAndShrinkRange

#include <math_ops.h>

Przekonwertuj skwantowany tensor „wejściowy” na „wyjście” o niższej precyzji, używając.

streszczenie

rzeczywisty rozkład wartości, aby zmaksymalizować wykorzystanie mniejszej głębi bitowej i odpowiednio dostosować wyjściowe zakresy minimalne i maksymalne.

[input_min, input_max] to zmiennoprzecinkowe skalarne, które określają zakres interpretacji zmiennoprzecinkowej danych wejściowych. Na przykład, jeśli input_min to -1.0f, a input_max to 1.0f i mamy do czynienia z kwantowanymi danymi quint16, to wartość 0 w danych 16-bitowych powinna być interpretowana jako -1.0f, a 65535 oznacza 1.0f.

Operator ten stara się wcisnąć jak największą precyzję w dane wyjściowe o mniejszej głębi bitowej, obliczając rzeczywiste wartości minimalne i maksymalne znalezione w danych. Na przykład, może to wejście quint16 nie ma wartości mniejszych niż 16 384 i nie wyższych niż 49 152. Oznacza to, że faktycznie potrzebna jest tylko połowa zakresu, wszystkie interpretacje zmiennoprzecinkowe mieszczą się w zakresie od -0,5f do 0,5f, więc jeśli chcemy skompresować dane do wyjścia quint8, możemy użyć tego zakresu zamiast teoretycznego -1.0f do 1.0 f, co jest sugerowane przez wejście min i max.

W praktyce jest to najbardziej przydatne do pobierania danych wyjściowych z operacji takich jak QuantizedMatMul, które mogą generować dane wyjściowe o większej głębi bitowej niż ich dane wejściowe i mogą mieć duże potencjalne zakresy wyjściowe, ale w praktyce mają rozkład wartości wejściowych, który wykorzystuje tylko niewielki ułamek wartości wejściowej. możliwy zakres. Dostarczając dane wyjściowe do tego operatora, możemy zmniejszyć je z 32 bitów do 8 przy minimalnej utracie dokładności.

Argumenty:

  • zakres: obiekt Scope
  • input_min: wartość zmiennoprzecinkowa, którą reprezentuje minimalna skwantowana wartość wejściowa.
  • input_max: Wartość zmiennoprzecinkowa, którą reprezentuje maksymalna skwantowana wartość wejściowa.
  • out_type: typ wyniku. Powinien mieć mniejszą głębię bitową niż Tinput.

Zwroty:

  • Output wyjściowe
  • Output output_min: Wartość zmiennoprzecinkowa, którą reprezentuje minimalna skwantowana wartość wyjściowa.
  • Output output_max: Wartość zmiennoprzecinkowa, którą reprezentuje maksymalna skwantowana wartość wyjściowa.

Konstruktorzy i niszczyciele

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

Atrybuty publiczne

operation
output
output_max
output_min

Atrybuty publiczne

operacja

Operation operation

wynik

::tensorflow::Output output

wyjście_maks

::tensorflow::Output output_max

wyjście_min

::tensorflow::Output output_min

Funkcje publiczne

QuantizeDownAndShrinkRange

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