SegmentMaxV2

publiczna klasa końcowa SegmentMaxV2

Oblicza maksimum wzdłuż segmentów tensora.

Przeczytaj [sekcję o segmentacji](https://tensorflow.org/api_docs/python/tf/math#Segmentation), aby uzyskać wyjaśnienie segmentów.

Oblicza tensor w taki sposób, że \\(output_i = \max_j(data_j)\\) gdzie `max` jest większe od `j` tak, że `ids_segmentu[j] == i`.

Jeśli maksimum jest puste dla danego identyfikatora segmentu `i`, wyprowadza najmniejszą możliwą wartość dla określonego typu liczbowego, `output[i] = numeric_limits ::najniższy()`.

Uwaga: ta opcja jest obecnie obsługiwana tylko z jit_compile=True.

Uwaga: na procesorze wartości w `segment_ids` są zawsze sprawdzane pod kątem sortowania, a dla indeksów, które nie rosną, zgłaszany jest błąd. Na GPU nie powoduje to błędu dla nieposortowanych indeksów. Na GPU indeksy poza kolejnością powodują bezpieczne, ale nieokreślone zachowanie, które może obejmować traktowanie indeksów poza kolejnością tak samo jak mniejszego indeksu następującego po sobie.

Jedyną różnicą w przypadku SegmentMax jest dodatkowe wejście „num_segments”. Pomaga to w ocenie kształtu wyjściowego w czasie kompilacji. Liczba „liczba_segmentów” powinna być zgodna z identyfikatorami segmentu. np. Max(segment_ids) powinno być równe `num_segments` - 1 dla 1-d segment_ids W przypadku niespójnej liczby num_segments operacja nadal działa. jedyna różnica polega na tym, że dane wyjściowe przyjmują rozmiar num_segments niezależnie od rozmiaru identyfikatorów segmentów i danych. dla num_segments mniejszego niż oczekiwany rozmiar wyjściowy, ostatnie elementy są ignorowane. Dla num_segments większe niż oczekiwany rozmiar wyjściowy, ostatnim elementom przypisuje się najmniejszą możliwą wartość dla określonego typu liczbowego.

Na przykład:

>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentMaxV2(data=c, segment_ids=tf.constant([0, 0, 1]), liczba_segmentów=2) >>> c = tf.constant([[1,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) >>> test( c).numpy() array([[4, 3, 3, 4], [5, 6, 7, 8]], dtype=int32)

Metody publiczne

Wyjście <T>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny <T rozszerza liczbę, U rozszerza liczbę, V rozszerza liczbę> SegmentMaxV2 <T>
utwórz (zakres zakresu , dane argumentu <T>, argument <U> segmentIds, argument <V> numSegments)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SegmentMaxV2.
Wyjście <T>
wyjście ()
Ma taki sam kształt jak dane, z wyjątkiem pierwszych wymiarów `segment_ids.rank`, które są zastępowane pojedynczym wymiarem o rozmiarze `num_segments`.

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 SegmentMaxV2 <T> create ( zakres zakresu , dane argumentu <T>, argumenty <U> segmentIds, argumenty <V> numSegments)

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

Parametry
zakres aktualny zakres
identyfikatory segmentu Tensor 1-D, którego rozmiar jest równy rozmiarowi pierwszego wymiaru „danych”. Wartości należy posortować i można je powtarzać. Wartości muszą być mniejsze niż „liczba_segmentów”.

Uwaga: Wartości są zawsze sprawdzane pod kątem sortowania na podstawie procesora, nigdy na GPU.

Zwroty
  • nowa instancja SegmentMaxV2

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

Ma taki sam kształt jak dane, z wyjątkiem pierwszych wymiarów `segment_ids.rank`, które są zastępowane pojedynczym wymiarem o rozmiarze `num_segments`.