UniformQuantizedConvolutionHybrid

publiczna klasa końcowa UniformQuantizedConvolutionHybrid

Wykonaj hybrydowy skwantowany splot 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 skwantowany splot na skwantowanych „lhs” i „rhs”.

Wewnętrzna kwantyzacja na „lhs” to kwantyzacja do „Trhs”, zakresu dynamicznego, na partię (na oś wzdłuż osi „dimension_numbers.input_batch_dimension”), asymetryczną i nie wąską (zakres wynosi [Trhs_MIN, Trhs_MAX]) .

„lhs” i „rhs” muszą być tensorami tej samej rangi i spełniać następujące warunki kształtu. - lhs_feature % feature_group_count == 0 - lhs_feature % rhs_input_feature == 0 - lhs_feature / feature_group_count == rhs_input_feature - rhs_output_feature % feature_group_count == 0 - lhs_batch % Batch_group_count == 0 - rhs_output_feature % Batch_group_count == 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 UniformQuantizedConvolutionHybrid.Options Opcjonalne atrybuty dla UniformQuantizedConvolutionHybrid

Metody publiczne

Wyjście <V>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczne UniformQuantizedConvolutionHybrid.Options
batchGroupCount (długa partiaGroupCount)
statyczny <V rozszerza liczbę, T rozszerza liczbę, U> UniformQuantizedConvolutionHybrid <V>
utwórz ( Zakres zasięgu, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, Dopełnienie ciągów, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UniformQuantizedConvolutionHybrid.
statyczne UniformQuantizedConvolutionHybrid.Options
wymiarNumbers (Ciąg wymiarówNumbers)
statyczne UniformQuantizedConvolutionHybrid.Options
jawnePadding (List<Long> jawnePadding)
statyczne UniformQuantizedConvolutionHybrid.Options
featureGroupCount (długie featureGroupCount)
statyczne UniformQuantizedConvolutionHybrid.Options
lhsDilation (List<Long> lhsDilation)
Wyjście <V>
wyjście ()
Tensor wyjściowy „Tout”, taki sam stopień jak „lhs” i „rhs”.
statyczne UniformQuantizedConvolutionHybrid.Options
rhsDilation (List<Long> rhsDilation)
statyczne UniformQuantizedConvolutionHybrid.Options
rhsQuantizationAxis (długa rhsQuantizationAxis)
statyczne UniformQuantizedConvolutionHybrid.Options
windowStrides (List<Long> windowStrides)

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 UniformQuantizedConvolutionHybrid.Options BatchGroupCount (Długie BatchGroupCount)

Parametry
liczba grup wsadowych Liczba grup wsadowych. Używany do filtrów zgrupowanych. Musi być dzielnikiem cechy_wyjściowej.

public static UniformQuantizedConvolutionHybrid <V> create ( Zakres zakresu, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, Dopełnienie ciągu, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opcje... opcje)

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

Parametry
zakres aktualny zakres
lewy Musi to być niekwantowany tensor „Tlhs”, ranga >= 3.
prawa strona Musi to być skwantowany tensor „Trhs”, o tej samej randze co „lhs”.
rhsSkale Wartości zmiennoprzecinkowe używane jako współczynniki skali podczas kwantyzacji oryginalnych danych reprezentowanych przez „rhs”. Musi to być tensor skalarny w przypadku kwantyzacji na tensor lub tensor 1D o rozmiarze „rhs.dim_size(kernel_output_feature_dimension)” w przypadku kwantyzacji na kanał.
rhsZeroPunktów Wartości int32 używane jako punkt zerowy podczas kwantyzacji oryginalnych danych reprezentowanych przez „rhs”. Taki sam warunek kształtu jak `rhs_scales`.
Naganiacz Typ tensora wyjściowego.
wyściółka ciąg znaków z: `"SAME"`, `"VALID"` lub `"EXPLICIT"`, wskazujący typ algorytmu dopełniania, który ma zostać użyty.
rhsKwantyzacjaMinVal Minimalna wartość skwantowanych danych przechowywanych w „rhs”. Na przykład, jeśli „Trhs” to qint8, należy to ustawić na -127, jeśli kwantyzacja wąskiego zakresu, lub -128, jeśli nie.
rhsKwantyzacjaMaxVal Maksymalna wartość skwantowanych danych przechowywanych w „rhs”. Na przykład, jeśli „Trhs” to qint8, należy ustawić tę wartość na 127.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja UniformQuantizedConvolutionHybrid

public static UniformQuantizedConvolutionHybrid.Options DimensionNumbers (String DimensionNumbers)

Parametry
numery wymiarów Struktura informacji o wymiarach splotu op. Musi to być pusty ciąg (domyślnie) lub serializowany ciąg tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr proto. Jeśli łańcuch jest pusty, wartością domyślną jest `("NCHW", "OIHW", "NCHW")` (dla splotu 2D).

public static UniformQuantizedConvolutionHybrid.Options jawnePadding (List<Long> jawnePadding)

Parametry
wyraźne dopełnienie Jeśli atrybut „dopełnienie” ma wartość „„WYJAŚNIONY””, musi być ustawiony jako lista wskazująca wyraźne dopełnienie na początku i na końcu każdego lewego wymiaru przestrzennego. W przeciwnym razie ten atrybut musi być pusty.

(Jeśli jest używany) Musi być listą rozmiaru 2 * (liczba wymiarów przestrzennych po lewej stronie), gdzie (explicit_padding[2 * i], jawne_padding[2 * i + 1]) wskazuje wymiary_przestrzenne[i] (start_padding, end_padding).

public static UniformQuantizedConvolutionHybrid.Options featureGroupCount (Długie featureGroupCount)

Parametry
liczba grup funkcji Liczba grup funkcji. Używany do zgrupowanych splotów. Musi być dzielnikiem zarówno lhs_feature, jak i Output_feature.

public static UniformQuantizedConvolutionHybrid.Options lhsDilation (List<Long> lhsDilation)

Parametry
lhsRozwarcie Współczynnik dylatacji stosowany w każdym wymiarze przestrzennym „lewej oś”. Musi to być pusta lista (domyślnie) lub lista rozmiarów (liczba wymiarów przestrzennych lewej strony). Jeśli lista jest pusta, dylatacja dla każdego lewego wymiaru przestrzennego jest ustawiona na 1.

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

Tensor wyjściowy „Tout”, taki sam stopień jak „lhs” i „rhs”. Dane wyjściowe to nieskwantowane dane wyjściowe.

public static UniformQuantizedConvolutionHybrid.Options rhsDilation (List<Long> rhsDilation)

Parametry
rhsRozwarcie Współczynnik dylatacji stosowany w każdym wymiarze przestrzennym „rhs”. Musi to być pusta lista (domyślna) lub lista rozmiarów (liczba wymiarów przestrzennych po prawej stronie). Jeśli lista jest pusta, dylatacja dla każdego wymiaru przestrzennego po prawej stronie jest ustawiona na 1.

public static UniformQuantizedConvolutionHybrid.Options rhsQuantizationAxis (Długie 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ż wymiaru_wyjściowego_funkcji_jądra. Zatem ten atrybut musi być ustawiony na -1 lub `dimension_numbers.kernel_output_feature_dimension`. Inne wartości spowodują błąd w konstrukcji OpKernel.

public static UniformQuantizedConvolutionHybrid.Options windowStrides (List<Long> windowStrides)

Parametry
OknoStrides Krok przesuwanego okna dla każdego wymiaru przestrzennego „lewej oś”. Musi to być pusta lista (domyślnie) lub lista rozmiarów (liczba wymiarów przestrzennych). Jeśli podano pustą listę, krok dla każdego wymiaru przestrzennego jest ustawiany na 1.