Aplica adição esparsa à "entrada" usando valores individuais ou fatias
de `updates` de acordo com índices `indices`. As atualizações são sem alias: `input` só é modificado no local se nenhuma outra operação o usar. Caso contrário, uma cópia de `input` é feita. Esta operação tem um gradiente em relação a `input` e `updates`.
`input` é um `Tensor` com classificação `P` e `indices` é um `Tensor` de classificação `Q`.
`indices` deve ser tensor inteiro, contendo índices em `input`. Deve ser shape \\([d_0, ..., d_{Q-2}, K]\\) onde `0 < K <= P`.
A dimensão mais interna de `índices` (com comprimento `K`) corresponde a índices em elementos (se `K = P`) ou fatias dimensionais `(PK)` (se `K < P`) ao longo do `K`th dimensão de 'entrada'.
`updates` é `Tensor` de classificação `Q-1+PK` com forma:
$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$
Por exemplo, digamos que queremos adicionar 4 elementos dispersos a um tensor de rank 1 para 8 elementos. Em Python, essa adição ficaria assim:
input = tf.constant([1, 2, 3, 4, 5, 6, 7, 8]) índices = tf.constant([[4], [3], [1], [7]]) updates = tf.constant([9, 10, 11, 12]) output = tf.scatter_nd_non_aliasing_add(input, indices, updates) com tf.Session() como sess: print(sess.run(output))
O valor resultante `output` ficaria assim:
[1, 13, 3, 14, 14, 6, 7, 20]
Veja tf.scatter_nd
para mais detalhes sobre como fazer atualizações em fatias.
Métodos públicos
Saída <T> | comoSaída () Retorna o identificador simbólico de um tensor. |
estático <T, U estende Número> ScatterNdNonAliasingAdd <T> | |
Saída <T> | saída () Um `Tensor` com a mesma forma que `input`, contendo valores de `input` atualizados com `updates`. |
Métodos Herdados
Métodos públicos
Public Output <T> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static ScatterNdNonAliasingAdd <T> create ( Escopo do escopo, entrada do Operando <T>, índices do Operando <U>, atualizações do Operando <T>)
Método de fábrica para criar uma classe que envolve uma nova operação ScatterNdNonAliasingAdd.
Parâmetros
alcance | escopo atual |
---|---|
entrada | Um tensor. |
índices | Um tensor. Deve ser um dos seguintes tipos: `int32`, `int64`. Um tensor de índices em `input`. |
atualizações | Um tensor. Deve ter o mesmo tipo que a ref. Um tensor de valores atualizados para adicionar a `input`. |
Devoluções
- uma nova instância de ScatterNdNonAliasingAdd
saída pública <T> saída ()
Um `Tensor` com a mesma forma que `input`, contendo valores de `input` atualizados com `updates`.