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 )