Applica un'addizione sparsa all'"input" utilizzando valori o sezioni individuali
da `aggiornamenti` secondo gli indici `indices`. Gli aggiornamenti non sono alias: "input" viene modificato sul posto solo se nessun'altra operazione lo utilizzerà. Altrimenti, viene creata una copia di "input". Questa operazione ha un gradiente rispetto sia all'input che agli aggiornamenti.
"input" è un "Tensore" con rango "P" e "indices" è un "Tensore" di rango "Q".
"indices" deve essere un tensore intero, contenente indici in "input". Deve essere shape \\([d_0, ..., d_{Q-2}, K]\\) dove `0 < K <= P`.
La dimensione più interna degli `indici` (con lunghezza `K`) corrisponde agli indici in elementi (se `K = P`) o fette dimensionali `(PK)` (se `K < P`) lungo il `K`esimo dimensione di "input".
"updates" è un "Tensor" di rango "Q-1+PK" con la forma:
$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$
Ad esempio, supponiamo di voler aggiungere 4 elementi sparsi a un tensore di rango 1 a 8 elementi. In Python, tale aggiunta sarebbe simile a questa:
input = tf.costante([1, 2, 3, 4, 5, 6, 7, 8]) indici = tf.costante([[4], [3], [1], [7]]) aggiornamenti = tf.constant([9, 10, 11, 12]) output = tf.scatter_nd_non_aliasing_add(input, indicis, update) con tf.Session() come sess: print(sess.run(output))
Il valore risultante "output" sarebbe simile al seguente:
[1, 13, 3, 14, 14, 6, 7, 20]
Vedi tf.scatter_nd
per maggiori dettagli su come apportare aggiornamenti alle sezioni.
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. |
static <T estende TType > ScatterNdNonAliasingAdd <T> | create (ambito dell'ambito , input dell'operando <T>, operando <? estende TNumber > indici, aggiornamenti dell'operando <T>) Metodo factory per creare una classe che racchiude una nuova operazione ScatterNdNonAliasingAdd. |
Uscita <T> | produzione () Un `Tensore` con la stessa forma di `input`, contenente valori di `input` aggiornati con `updates`. |
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 ScatterNdNonAliasingAdd <T> create ( ambito ambito , input operando <T>, operando <? estende TNumber > indici, operando <T> aggiornamenti)
Metodo factory per creare una classe che racchiude una nuova operazione ScatterNdNonAliasingAdd.
Parametri
scopo | ambito attuale |
---|---|
ingresso | Un tensore. |
indici | Un tensore. Deve essere uno dei seguenti tipi: "int32", "int64". Un tensore di indici in "input". |
aggiornamenti | Un tensore. Deve essere dello stesso tipo del rif. Un tensore di valori aggiornati da aggiungere a "input". |
ritorna
- una nuova istanza di ScatterNdNonAliasingAdd
Uscita pubblica <T> uscita ()
Un `Tensore` con la stessa forma di `input`, contenente valori di `input` aggiornati con `updates`.