Aplica "atualizações" esparsas a valores individuais ou fatias em um determinado
variável de acordo com `índices`.
`ref` é um `tensor` com classificação `P` e `indices` é um `tensor` de classificação `Q`.
`indices` deve ser tensor inteiro, contendo índices em `ref`. 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 (se `K < P`) ao longo da `K`ésima dimensão de `ref`.
`updates` é `Tensor` de classificação `Q-1+PK` com forma:
$$[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].$$
Por exemplo, digamos que queremos atualizar 4 elementos dispersos para um tensor de rank 1 para 8 elementos. Em Python, essa atualização ficaria assim:
ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1] ,[7]])
updates = tf.constant([9, 10, 11, 12])
update = tf.scatter_nd_update(ref, indices, updates)
with tf.Session() as sess:
print sess.run(update)
A atualização resultante para ref ficaria assim:[1, 11, 3, 10, 9, 6, 7, 12]
Veja tf.scatter_nd
para mais detalhes sobre como fazer atualizações em fatias.
Veja também `tf.scatter_update` e `tf.batch_scatter_update`.
Classes aninhadas
classe | ScatterNdUpdate.Options | Atributos opcionais para ScatterNdUpdate |
Métodos públicos
Saída <T> | comoSaída () Retorna o identificador simbólico de um tensor. |
estático <T, U estende Número> ScatterNdUpdate <T> | |
Saída <T> | outputRef () O mesmo que ref. |
static ScatterNdUpdate.Options | useLocking (booleano useLocking) |
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 ScatterNdUpdate <T> create ( Escopo do escopo, Operando <T> ref, Operando <U> índices, Operando <T> atualizações, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação ScatterNdUpdate.
Parâmetros
alcance | escopo atual |
---|---|
referência | Um tensor mutável. Deve ser de um nó Variável. |
índices | Um tensor. Deve ser um dos seguintes tipos: int32, int64. Um tensor de índices em ref. |
atualizações | Um tensor. Deve ter o mesmo tipo que a ref. Um tensor de valores atualizados para adicionar à ref. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de ScatterNdUpdate
Public Output <T> outputRef ()
O mesmo que ref. Retornado como uma conveniência para operações que desejam usar os valores atualizados após a atualização.
public static ScatterNdUpdate.Options useLocking (Boolean useLocking)
Parâmetros
useBloqueio | Um bool opcional. O padrão é Verdadeiro. Se True, a atribuição será protegida por um bloqueio; caso contrário, o comportamento é indefinido, mas pode exibir menos contenção. |
---|