Interlaccia i valori dai tensori "dati" in un singolo tensore.
Costruisce un tensore unito in questo modo
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
# Scalar indices:
merged[indices[m], ...] = data[m][...]
# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]
merged.shape = [max(indici)] + costante
I valori vengono uniti in ordine, quindi se un indice appare sia in `indices[m][i]` che in `indices[n][j]` per `(m,i) < (n,j)` la sezione `data [n][j]` apparirà nel risultato unito. Se non hai bisogno di questa garanzia, ParallelDynamicStitch potrebbe funzionare meglio su alcuni dispositivi.
Per 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]]
# 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 > DynamicStitch <T> | |
Uscita <T> | uniti () |
Metodi ereditati
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
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 DynamicStitch <T> create ( scope scope, Iterable< Operand < TInt32 >> indici, Iterable< Operand <T>> dati)
Metodo factory per creare una classe che racchiude una nuova operazione DynamicStitch.
Parametri
portata | ambito attuale |
---|
Ritorni
- una nuova istanza di DynamicStitch