Wykonaj skwantowaną kropkę skwantowanego Tensora „lhs” i skwantowanego Tensora „rhs”, aby uzyskać skwantowany „wyjście”.
Biorąc pod uwagę skwantowane „lhs” i skwantowane „rhs”, wykonuje skwantowaną kropkę na „lhs” i „rhs”, aby uzyskać skwantowany „wyjście”. `lhs` i `rhs` muszą być tensorami 2D, a lhs.dim_size(1) musi odpowiadać rhs.dim_size(0). „lhs” i „rhs” muszą być skwantowane Tensorem, gdzie wartość danych jest kwantyzowana przy użyciu wzoru: dane_kwantowane = klip(dane_oryginalne / skala + punkt zerowy, wartość_min.kwantyzacji, wartość_kwantyzacji_maks.). „Wyjście” jest również kwantowane przy użyciu tego samego wzoru. Jeśli „rhs” jest kwantowane na tensor, „wyjście” musi być również kwantowane na tensor.
Klasy zagnieżdżone
klasa | Opcje jednolitekwantyzowanedot | Opcjonalne atrybuty dla UniformQuantizedDot |
Metody publiczne
Wyjście <U> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <U, T> UniformQuantizedDot <U> | utwórz ( Zakres zasięgu, Operand <T> lhs, Operand <T> rhs, Operand <Float> lhsScales, Operand <Integer> lhsZeroPoints, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Operand <Float> OutputScales, Operand <Integer > wyjścieZeroPoints, Klasa<U> Tout, Long lhsKwantyzacjaMinVal, Długie lhsKwantyzacjaMaxVal, Długie rhsKwantyzacjaMinVal, Długie rhsKwantyzacjaMaxVal, Długie wyjścieKwantyzacjaMinVal, Długie wyjścieKwantyzacjaMaxVal, Opcje... opcje) Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedDot. |
statyczne UniformQuantizedDot.Options | lewa oś kwantyzacji (długa oś kwantyzacji lhs) |
Wyjście <U> | wyjście () Wyjściowy tensor 2D Tout, którego kształt to (lhs.dim_size(0), rhs.dim_size(1)). |
statyczne UniformQuantizedDot.Options | wyjścieQuantizationAxis (Długie wyjścieQuantizationAxis) |
statyczne UniformQuantizedDot.Options | rhsQuantizationAxis (długa rhsQuantizationAxis) |
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 UniformQuantizedDot <U> create ( Zakres zasięgu, Operand <T> lhs, Operand <T> rhs, Operand <Float> lhsScales, Operand <Integer> lhsZeroPoints, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Argument <Float > wyjścieScales, Operand <Integer> wyjścieZeroPoints, Klasa<U> Tout, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long OutputQuantizationMinVal, Long OutputQuantizationMaxVal, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedDot.
Parametry
zakres | aktualny zakres |
---|---|
lewy | Musi to być dwuwymiarowy tensor cyny. |
prawa strona | Musi to być dwuwymiarowy tensor cyny. |
lhsSkale | Wartości zmiennoprzecinkowe używane jako skala podczas kwantyzacji oryginalnych danych, które reprezentuje lhs. Musi to być tensor skalarny (lewy obsługuje tylko kwantyzację na tensor). |
lhsZeroPunktów | Wartości int32 używane jako punkt zerowy podczas kwantyzacji oryginalnych danych reprezentowanych przez lhs. Taki sam warunek kształtu jak lhs_scales. |
rhsSkale | Wartości zmiennoprzecinkowe używane jako skala podczas kwantyzacji oryginalnych danych, które reprezentuje rhs. Musi to być tensor skalarny (kwantyzacja na tensor) lub tensor 1D o rozmiarze (rhs.dim_size(1),) (kwantyzacja na kanał). |
rhsZeroPunktów | Wartości int32 używane jako punkt zerowy podczas kwantyzacji oryginalnych danych reprezentowanych przez rhs. Taki sam stan kształtu jak rhs_scales. |
Skale wyjściowe | Wartości zmiennoprzecinkowe, które mają być używane jako skale podczas kwantyzacji oryginalnych danych reprezentowanych przez dane wyjściowe. Musi to być tensor skalarny (kwantyzacja na tensor) lub tensor 1D o rozmiarze (output.dim_size(1),) (kwantyzacja na kanał). Jeśli rhs jest skwantowane na tensor, sygnał wyjściowy musi być również skwantowany na tensor. Oznacza to, że jeśli rhs_scales i rhs_zero_points są tensorami skalarnymi, Output_scales i Output_zero_points również muszą być tensorami skalarnymi. |
wyjścieZeroPoints | Wartości int32 używane jako punkt zerowy podczas kwantyzacji oryginalnych danych reprezentowanych przez dane wyjściowe. Taki sam stan kształtu jak rhs_scales. |
Naganiacz | Typ tensora wyjściowego. |
lhsKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych w lhs. Na przykład, jeśli Tin wynosi qint8, należy to ustawić na -127, jeśli kwantyzowany jest wąski zakres, lub -128, jeśli nie. |
lhsKwantyzacjaMaxVal | Maksymalna wartość skwantowanych danych przechowywanych w prawej stronie. Na przykład, jeśli Tin wynosi qint8, należy ustawić wartość 127. |
rhsKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych w prawej stronie. Na przykład, jeśli Trhs wynosi qint8, należy to ustawić na -127, jeśli kwantyzowany jest wąski zakres, lub -128, jeśli nie. |
rhsKwantyzacjaMaxVal | Maksymalna wartość skwantowanych danych przechowywanych w prawej stronie. Na przykład, jeśli Trhs wynosi qint8, należy ustawić wartość 127. |
wyjścieKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych na wyjściu. Na przykład, jeśli Tout wynosi qint8, należy to ustawić na -127, jeśli kwantyzowany jest wąski zakres, lub -128, jeśli nie. |
wyjścieKwantyzacjaMaxVal | Maksymalna wartość skwantowanych danych przechowywanych na wyjściu. Na przykład, jeśli Tout to qint8, należy ustawić wartość 127. |
opcje | przenosi opcjonalne wartości atrybutów |
Zwroty
- nowa instancja UniformQuantizedDot
public static UniformQuantizedDot.Options lhsQuantizationAxis (Long lhsQuantizationAxis)
Parametry
lhsOś kwantyzacji | 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 przypadku punktów op lhs obsługiwana jest tylko kwantyzacja na tensor. Zatem ten atrybut musi być ustawiony na -1. Inne wartości są odrzucane. |
---|
publiczne wyjście <U> wyjście ()
Wyjściowy tensor 2D Tout, którego kształt to (lhs.dim_size(0), rhs.dim_size(1)).
public static UniformQuantizedDot.Options OutputQuantizationAxis (Długie wyjścieQuantizationAxis)
Parametry
wyjścieQuantizationAxis | 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 przypadku wyjścia punktowego obsługiwana jest tylko kwantyzacja na tensor lub na kanał wzdłuż wymiaru 1. Zatem ten atrybut musi być ustawiony na -1 lub 1. Inne wartości są odrzucane. |
---|
public static UniformQuantizedDot.Options rhsQuantizationAxis (Długi rhsQuantizationAxis)
Parametry
rhsOś kwantyzacji | 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 przypadku operacji punktowych obsługiwana jest tylko kwantyzacja na tensor lub na kanał wzdłuż wymiaru 1. Zatem ten atrybut musi być ustawiony na -1 lub 1. Inne wartości są odrzucane. |
---|