UniformRequantize

publiczna klasa końcowa UniformRequantize

Biorąc pod uwagę skwantowane „wejście” tensora, dokonaj jego ponownej kwantyzacji przy użyciu nowych parametrów kwantyzacji.

Mając skwantowane „wejście” tensora, które zostało skwantowane za pomocą {skal_wejściowych, punktów_zero_wejściowych, osi_kwantyzacji_wejściowej, kwantyzacji_min_val_wejściowej, kwantyzacji_wejściowej_max_val}, skwantuj je do tensora, który jest kwantyzowany za pomocą {skali_wyjściowych, punktów_zero_wyjściowych, osi_kwantyzacji_wyjściowej, kwantyzacji_wyjściowej_min, wartości_kwantyzacji_wyjściowej_max_val}. Rekwantyzację przeprowadza się za pomocą wzoru: dane_kwantowane_wyjściowe = klip( (dane_kwantowane_wejściowe - punkt_zero_wejściowy) * (skala_wejściowa / skala_wyjściowa) + punkt_zero_wyjściowy, kwantyzacja_wyjściowa_min_val, kwantyzacja_wyjściowa_max_val)

Obsługiwane przypadki kwantyzacji na tensor i na oś są następujące:

  • na tensor -> na tensor
  • na tensor -> na oś
  • na oś -> na oś, gdzie oś_kwantyzacji_wejściowej jest równa osi_kwantyzacji_wyjścia. tj. co najmniej jedna z osi_kwantyzacji_wejściowej i osi_kwantyzacji_wyjściowej musi mieć wartość -1 lub dwie muszą być równe.

Klasy zagnieżdżone

klasa UniformRequantize.Opcje Opcjonalne atrybuty dla UniformRequantize

Metody publiczne

Wyjście <U>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny <U, T> Jednolita rekwantyzacja <U>
utwórz ( Zakres zakresu, Operand <T> input, Operand <Float> inputScales, Operand <Integer> inputZeroPoints, Operand <Float> OutputScales, Operand <Integer> OutputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Long inputQuantizationMaxVal, Long OutputQuantizationMinVal, Długie wyjścieQuantizationMaxVal, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformRequantize.
statyczne UniformRequantize.Options
inputQuantizationAxis (Długie wejścieQuantizationAxis)
Wyjście <U>
wyjście ()
Wyjście skwantowanego Tensora Touta, którego kształt jest taki sam jak sygnał wejściowy.
statyczne UniformRequantize.Options
wyjścieQuantizationAxis (Długie wyjścieQuantizationAxis)

Metody dziedziczone

Metody publiczne

publiczne wyjście <U> asOutput ()

Zwraca symboliczny uchwyt tensora.

Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.

public static UniformRequantize <U> create ( Zakres zakresu, Operand <T> wejście, Operand <Float> inputScales, Operand <Integer> inputZeroPoints, Operand <Float> wyjścieScales, Operand <Integer> wyjścieZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Długie wejścieKwantyzacjaMaxVal, Długie wyjścieKwantyzacjaMinVal, Długie wyjścieKwantyzacjaMaxVal, Opcje... opcje)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformRequantize.

Parametry
zakres aktualny zakres
wejście To musi być tensor cyny.
wejścioweSkale Wartości zmiennoprzecinkowe używane jako skale podczas kwantyzacji oryginalnych danych reprezentowanych przez „wejście”. Musi to być tensor skalarny, jeśli oś_kwantyzacji wynosi -1 (kwantyzacja na tensor), w przeciwnym razie tensor 1D o rozmiarze (input.dim_size(oś_kwantyzacji)) (kwantyzacja na oś).
wejścieZeroPoints Wartości int32 używane jako punkty zerowe podczas kwantyzacji oryginalnych danych reprezentowanych przez „input”. Taki sam stan kształtu jak łuski.
Skale wyjściowe Wartości zmiennoprzecinkowe, które mają zostać użyte jako nowe skale do kwantyzacji oryginalnych danych reprezentowanych przez „wejściowe”. Musi to być tensor skalarny, jeśli oś_kwantyzacji wynosi -1 (kwantyzacja na tensor), w przeciwnym razie tensor 1D o rozmiarze (input.dim_size(oś_kwantyzacji)) (kwantyzacja na oś).
wyjścieZeroPoints Wartości int32, które mają zostać użyte jako nowe punkty zerowe do kwantyzacji oryginalnych danych reprezentowanych przez „input”. Taki sam stan kształtu jak łuski.
Naganiacz Typ tensora wyjściowego. Typ tf.D z: tf.qint8, tf.qint32
wejścieKwantyzacjaMinVal Minimalna wartość kwantyzacji użyta podczas kwantyzacji oryginalnych danych reprezentowanych przez „wejście”. Celem tego atrybutu jest zazwyczaj (ale nie wyłącznie) wskazanie wąskiego zakresu, gdzie jest on ustawiony na: „(Tin najniższy) + 1”, jeśli wąski zakres, i „(Tin najniższy)” w przeciwnym razie. Na przykład, jeśli Tin wynosi qint8, to jest ustawiane na -127, jeśli kwantyzowany jest wąski zakres, lub -128, jeśli nie.
wejścieKwantyzacjaMaxVal Maksymalna wartość kwantyzacji, która została użyta podczas kwantyzacji oryginalnych danych reprezentowanych przez „wejście”. Celem tego atrybutu jest zazwyczaj (ale nie wyłącznie) wskazanie wąskiego zakresu, gdzie jest on ustawiony na: `(Tout max)` zarówno dla wąskiego, jak i nie wąskiego zakresu. Na przykład, jeśli Tin ma wartość qint8, wartość ta wynosi 127.
wyjścieKwantyzacjaMinVal Nowa minimalna wartość kwantyzacji służąca do kwantyzacji oryginalnych danych reprezentowanych przez „input”.
wyjścieKwantyzacjaMaxVal Nowa maksymalna wartość kwantyzacji do kwantyzacji oryginalnych danych reprezentowanych przez „input”.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja UniformRequantize

public static UniformRequantize.Options inputQuantizationAxis (Długie wejścieQuantizationAxis)

Parametry
wejściowa oś kwantyzacji Oś kwantyzacji użyta podczas kwantyzacji oryginalnych danych reprezentowanych przez „wejście”. Wskazuje indeks wymiaru tensora, w przypadku którego stosowana jest kwantyzacja per-osiowa dla wycinków wzdłuż tego wymiaru. Jeśli ustawione na -1 (domyślnie), oznacza to kwantyzację na tensor. W przeciwnym razie musi być ustawiony w zakresie [0, input.dims()).

publiczne wyjście <U> wyjście ()

Wyjście skwantowanego Tensora Touta, którego kształt jest taki sam jak sygnał wejściowy.

public static UniformRequantize.Options OutputQuantizationAxis (Długie wyjścieQuantizationAxis)

Parametry
wyjścieQuantizationAxis Nowa oś kwantyzacji używana do kwantyzacji oryginalnych danych reprezentowanych przez „wejście”.