Wykonaj hybrydową skwantowaną kropkę pływającego Tensora „lhs” i skwantowanego Tensora „rhs”.
Mając dane float „lhs” i skwantowane „rhs”, wewnętrznie przeprowadza kwantyzację na „lhs”, a następnie wykonuje skwantowaną kropkę na skwantowanych lewych i „rhs”. Wewnętrzna kwantyzacja na „lhs” jest kwantyzacją do qint8, zakresu dynamicznego, na partię (na oś wzdłuż osi 0), asymetryczną i nie wąskiego zakresu (zakres wynosi [-128, 127]). `lhs` i `rhs` muszą być tensorami 2D, a lhs.dim_size(1) musi odpowiadać rhs.dim_size(0). „rhs” musi być skwantowany Tensorem, gdzie jego wartość danych jest kwantyzowana przy użyciu wzoru: dane_kwantyzowane = klip(dane_oryginalne / skala + punkt zerowy, wartość_min.kwantyzacji, wartość_kwantyzacji_maks.).
Klasy zagnieżdżone
klasa | Opcje UniformQuantizedDotHybrid | Opcjonalne atrybuty dla UniformQuantizedDotHybrid |
Metody publiczne
Wyjście <V> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <V rozszerza liczbę, T rozszerza liczbę, U> UniformQuantizedDotHybrid <V> | utwórz ( Zakres zasięgu , Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opcje... opcje) Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedDotHybrid. |
Wyjście <V> | wyjście () Wyjściowy tensor 2D Tout, którego kształt to (lhs.dim_size(0), rhs.dim_size(1)). |
statyczne UniformQuantizedDotHybrid.Options | rhsQuantizationAxis (długa rhsQuantizationAxis) |
Metody dziedziczone
Metody publiczne
publiczne wyjście <V> 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 UniformQuantizedDotHybrid <V> create ( Zakres zakresu, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opcje.. .opcje )
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedDotHybrid.
Parametry
zakres | aktualny zakres |
---|---|
lewy | Musi to być tensor 2D Tlhs. |
prawa strona | Musi to być tensor 2D Trhs. |
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. |
Naganiacz | Typ tensora wyjściowego. |
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. |
opcje | przenosi opcjonalne wartości atrybutów |
Zwroty
- nowa instancja UniformQuantizedDotHybrid
publiczne wyjście <V> wyjście ()
Wyjściowy tensor 2D Tout, którego kształt to (lhs.dim_size(0), rhs.dim_size(1)). Dane wyjściowe to same oryginalne dane wyjściowe (nieskwantowane).
public static UniformQuantizedDotHybrid.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. |
---|