SegmentMinV2

classe finale pubblica SegmentMinV2

Calcola il minimo 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 = \min_j(data_j)\\) dove `min` è su `j` tale che `segment_ids[j] == i`.

Se il minimo è vuoto per un determinato ID di segmento "i", restituisce il valore più grande possibile per il tipo numerico specifico, "output[i] = numeric_limits ::massimo()`.

Nota: questa operazione è attualmente supportata solo con jit_compile=True.

Attenzione: sulla CPU, i valori in `segment_ids` vengono sempre convalidati per essere ordinati e viene generato un errore per gli indici che non aumentano. Sulla GPU, questo non genera un errore per gli indici non ordinati. Sulla GPU, gli indici fuori ordine determinano un comportamento sicuro ma non specificato, che può includere il trattamento degli indici fuori ordine come se fossero un indice successivo più piccolo.

L'unica differenza con SegmentMin è 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) dovrebbe essere uguale a `num_segments` - 1 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 il valore massimo possibile per il tipo numerico specifico.

Per esempio:

>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentMinV2(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([[1, 2, 2, 1], [5, 6, 7, 8]], dtype=int32)

Metodi pubblici

Uscita <T>
comeuscita ()
Restituisce la maniglia simbolica di un tensore.
statico <T estende il numero, U estende il numero, V estende il numero> SegmentMinV2 <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 SegmentMinV2.
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 SegmentMinV2 <T> create ( scope scope, operando <T> data, operando <U> segmentIds, operando <V> numSegments)

Metodo factory per creare una classe che racchiude una nuova operazione SegmentMinV2.

Parametri
scopo 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.

ritorna
  • una nuova istanza di SegmentMinV2

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".