Wykonaj skwantowane dodanie skwantowanego Tensora „lhs” i skwantowanego Tensora „rhs”, aby uzyskać skwantowany „wyjście”.
Biorąc pod uwagę skwantowane „lhs” i skwantowane „rhs”, wykonuje skwantowane dodanie „lhs” i „rhs”, aby uzyskać skwantowany „wyjście”.
„UniformQuantizedAdd” podlega regułom nadawania Numpy. Dwa kształty tablicy wejściowej są porównywane elementarnie. Zaczynając od wymiarów końcowych, oba wymiary muszą być równe lub jeden z nich musi wynosić 1.
„lhs” i „rhs” muszą być skwantowane Tensor, gdzie wartość danych jest kwantyzowana przy użyciu wzoru:
quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
„Wyjście” jest również kwantowane przy użyciu tego samego wzoru.Jeśli zarówno „lhs”, jak i „wyjście” są kwantowane per-osiowo, oś kwantyzacji musi być zgodna. Ponadto, jeśli zarówno „rhs”, jak i „wyjście” są kwantowane per-osiowo, oś kwantyzacji musi być zgodna. Dopasowanie oznacza, że oś musi pasować podczas dodawania w odniesieniu do transmisji. tj. dla obu operandów `lhs` i `rhs`, jeśli `operand.quantization_axis` >= 0 i `output.quantization_axis` >= 0, `operand.dims` - `operand.quantization_axis` musi być równe `output.dims ` - `oś_kwantyzacji_wyjściowej`.
Klasy zagnieżdżone
klasa | Opcje UniformQuantizedAdd | Opcjonalne atrybuty dla UniformQuantizedAdd |
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T> UniformQuantizedAdd <T> | 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, Long lhsKwantyzacjaMinVal, Long 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ę UniformQuantizedAdd. |
statyczne opcje UniformQuantizedAdd | lewa oś kwantyzacji (długa oś kwantyzacji lhs) |
Wyjście <T> | wyjście () Kwantowany tensor wyjściowy. |
statyczne opcje UniformQuantizedAdd | wyjścieQuantizationAxis (Długie wyjścieQuantizationAxis) |
statyczne opcje UniformQuantizedAdd | rhsQuantizationAxis (długa rhsQuantizationAxis) |
Metody dziedziczone
Metody publiczne
publiczne wyjście <T> 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 UniformQuantizedAdd <T> 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ścieSkale, Argument <Integer> wyjścieZeroPoints, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Długie wyjścieQuantizationMinVal, Długie wyjścieQuantizationMaxVal, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedAdd.
Parametry
zakres | aktualny zakres |
---|---|
lewy | Musi to być skwantowany tensor. |
prawa strona | Musi to być skwantowany tensor. |
lhsSkale | Wartości zmiennoprzecinkowe używane jako współczynniki skali podczas kwantyzacji oryginalnych danych reprezentowanych przez „lhs”. |
lhsZeroPunktów | Wartości int32 używane jako punkty zerowe podczas kwantyzacji oryginalnych danych reprezentowanych przez „lhs”. Musi mieć ten sam kształt z `lhs_scales`. |
rhsSkale | Wartości zmiennoprzecinkowe używane jako współczynniki skali podczas kwantyzacji oryginalnych danych reprezentowanych przez „rhs”. |
rhsZeroPunktów | Wartości int32 używane jako punkty zerowe podczas kwantyzacji oryginalnych danych reprezentowanych przez „rhs”. Musi mieć ten sam kształt z `rhs_scales`. |
Skale wyjściowe | Wartości zmiennoprzecinkowe używane jako współczynniki skali podczas kwantyzacji oryginalnych danych reprezentowanych przez „wyjście”. |
wyjścieZeroPoints | Wartości int32 używane jako punkty zerowe podczas kwantyzacji oryginalnych danych reprezentowanych przez dane wyjściowe. Musi mieć ten sam kształt z `output_scales`. |
lhsKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych w „lhs”. Na przykład, jeśli `Tin` to `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 „lhs”. Na przykład, jeśli `Tin` to `qint8`, należy to ustawić na 127. |
rhsKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych w „rhs”. Na przykład, jeśli `Tin` to `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 „rhs”. Na przykład, jeśli `Tin` to `qint8`, należy to ustawić na 127. |
wyjścieKwantyzacjaMinVal | Minimalna wartość skwantowanych danych przechowywanych w „wyjściu”. Na przykład, jeśli `Tout` to `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 w „wyjściu”. Na przykład, jeśli `Tout` to `qint8`, należy to ustawić na 127. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja UniformQuantizedAdd
public static UniformQuantizedAdd.Options lhsQuantizationAxis (długa 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 „lhs” obsługiwana jest tylko kwantyzacja na tensor. Dlatego należy to ustawić na -1. Inne wartości spowodują błąd w konstrukcji OpKernel. |
---|
public static UniformQuantizedAdd.Options wyjścieQuantizationAxis (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” obsługiwana jest tylko kwantyzacja na tensor lub na kanał wzdłuż „wymiaru_cechy_wyjściowej”. Zatem musi to być ustawione na -1 lub `dimension_numbers.output_feature_dimension`. Inne wartości spowodują błąd w konstrukcji OpKernel. |
---|
public static UniformQuantizedAdd.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 „rhs” obsługiwana jest tylko kwantyzacja na tensor lub na kanał wzdłuż „kernel_output_feature_dimension”. Zatem musi to być ustawione na -1 lub `dimension_numbers.kernel_output_feature_dimension`. Inne wartości spowodują błąd w konstrukcji OpKernel. |
---|