Oblicza iloczyn 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 taki, że \\(output_i = \prod_j data_j\\) gdzie iloczyn znajduje się nad `j` tak, że `segment_ids[j] == i`.
Jeżeli produkt jest pusty dla danego segmentu ID `i`, `output[i] = 1`.
Uwaga: ta opcja jest obecnie obsługiwana tylko z jit_compile=True.
Jedyną różnicą w przypadku SegmentProd 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) - 1 powinno być równe `num_segments` dla 1-d segment_ids. W przypadku niespójnej liczby num_segments operacja nadal działa. jedyna różnica polega na tym, że wynik przyjmuje rozmiar num_segments niezależnie od rozmiaru identyfikatorów segmentu i danych. dla num_segments mniejszego niż oczekiwany rozmiar wyjściowy, ostatnie elementy są ignorowane. Dla num_segments więcej niż oczekiwany rozmiar wyjściowy, ostatnim elementom przypisuje się 1.
Na przykład:
>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentProdV2(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, 6, 6, 4], [5, 6, 7, 8]], dtype=int32)
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T, U rozszerza numer, V rozszerza numer> SegmentProdV2 <T> | |
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 SegmentProdV2 <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ę SegmentProdV2.
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 procesorze, nigdy na GPU. |
Powroty
- nowa instancja SegmentProdV2
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`.