Calcola il prodotto lungo i segmenti di un tensore.
Leggi [la sezione sulla segmentazione](https://tensorflow.org/api_docs/python/tf/math#Segmentation) per una spiegazione dei segmenti.
Calcola un tensore tale che \\(output_i = \prod_j data_j\\) dove il prodotto è maggiore di "j" tale che "segment_ids[j] == i".
Se il prodotto è vuoto per un determinato ID di segmento "i", "output[i] = 1".
Nota: questa operazione è attualmente supportata solo con jit_compile=True.
L'unica differenza con SegmentProd è l'input aggiuntivo "num_segments". Questo aiuta a valutare la forma dell'output in fase di compilazione. "num_segments" deve essere coerente con segment_ids. ad esempio Max(segment_ids) - 1 dovrebbe essere uguale a `num_segments` per un segment_ids 1-d Con num_segments incoerenti, l'operazione continua a essere eseguita. l'unica differenza è che l'output assume la dimensione di num_segments indipendentemente dalla dimensione di segment_ids e data. per num_segments inferiori alla dimensione di output prevista, gli ultimi elementi vengono ignorati per num_segments superiori alla dimensione di output prevista, agli ultimi elementi viene assegnato 1.
Per esempio:
>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentProdV2(data=c, segment_ids=tf.constant([0, 0, 1]), num_segmenti=2) >>> c = tf.costante([[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)
Metodi pubblici
Uscita <T> | comeuscita () Restituisce la maniglia simbolica di un tensore. |
statico <T, U estende il numero, V estende il numero> SegmentProdV2 <T> | |
Uscita <T> | produzione () Ha la stessa forma dei dati, ad eccezione delle prime dimensioni "segment_ids.rank", che vengono sostituite con una singola dimensionew che ha dimensione "num_segments". |
Metodi ereditati
Metodi pubblici
Uscita pubblica <T> asOutput ()
Restituisce la maniglia simbolica di un tensore.
Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.
public static SegmentProdV2 <T> create ( ambito ambito , operando <T> dati, operando <U> ID segmento, operando <V> numSegmenti)
Metodo factory per creare una classe che racchiude una nuova operazione SegmentProdV2.
Parametri
ambito | ambito attuale |
---|---|
segmentId | Un tensore 1-D la cui dimensione è uguale alla dimensione della prima dimensione di "dati". I valori devono essere ordinati e possono essere ripetuti. I valori devono essere inferiori a "num_segments". Attenzione: i valori vengono sempre convalidati per essere ordinati sulla CPU, mai convalidati sulla GPU. |
Ritorni
- una nuova istanza di SegmentProdV2
Uscita pubblica <T> uscita ()
Ha la stessa forma dei dati, ad eccezione delle prime dimensioni "segment_ids.rank", che vengono sostituite con una singola dimensionew che ha dimensione "num_segments".