ParallelDynamicStitch

lezione finale pubblica ParallelDynamicStitch

Interlaccia i valori dai tensori "dati" in un singolo tensore.

Costruisce un tensore unito in modo tale che

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
 
Ad esempio, se ogni "indices[m]" è scalare o vettoriale, abbiamo
# Scalar indices:
     merged[indices[m], ...] = data[m][...]
 
     # Vector indices:
     merged[indices[m][i], ...] = data[m][i, ...]
 
Ogni "data[i].shape" deve iniziare con il corrispondente "indices[i]. shape" e il resto di "data[i].shape" deve essere costante rispetto a "i". Cioè, dobbiamo avere `data[i].shape = indici[i].shape + costante`. In termini di questa "costante", la forma dell'output è

merged.shape = [max(indici)] + costante

I valori possono essere uniti in parallelo, quindi se un indice appare sia in `indices[m][i]` che in `indices[n][j]`, il risultato potrebbe non essere valido. Ciò differisce dal normale operatore DynamicStitch che definisce il comportamento in quel caso.

Ad esempio:

indices[0] = 6
     indices[1] = [4, 1]
     indices[2] = [[5, 2], [0, 3]]
     data[0] = [61, 62]
     data[1] = [[41, 42], [11, 12]]
     data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
     merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
               [51, 52], [61, 62]]
 
Questo metodo può essere utilizzato per unire le partizioni create da "dynamic_partition" come illustrato nell'esempio seguente:
# Apply function (increments x_i) on elements for which a certain condition
     # apply (x_i != -1 in this example).
     x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
     condition_mask=tf.not_equal(x,tf.constant(-1.))
     partitioned_data = tf.dynamic_partition(
         x, tf.cast(condition_mask, tf.int32) , 2)
     partitioned_data[1] = partitioned_data[1] + 1.0
     condition_indices = tf.dynamic_partition(
         tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
     x = tf.dynamic_stitch(condition_indices, partitioned_data)
     # Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
     # unchanged.
 

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita <T>
comeuscita ()
Restituisce l'handle simbolico del tensore.
statico <T estende TType > ParallelDynamicStitch <T>
create ( ambito ambito , Iterable< Operando < TInt32 >> indici, Iterable< Operando <T>> dati)
Metodo factory per creare una classe che racchiude una nuova operazione ParallelDynamicStitch.
Uscita <T>
uniti ()

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "ParallelDynamicStitch"

Metodi pubblici

Uscita pubblica <T> asOutput ()

Restituisce l'handle simbolico del 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 ParallelDynamicStitch <T> create ( scope scope, Iterable< Operand < TInt32 >> indici, Iterable< Operand <T>> dati)

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

Parametri
scopo ambito attuale
ritorna
  • una nuova istanza di ParallelDynamicStitch

Output pubblico <T> unito ()