Adiciona `atualizações` esparsas a um tensor existente de acordo com `índices`.
Esta operação cria um novo tensor adicionando `atualizações` esparsas ao `tensor` passado. Esta operação é muito semelhante a tf.compat.v1.scatter_nd_add
, exceto que as atualizações são adicionadas a um tensor existente (em oposição a uma variável). Se a memória do tensor existente não puder ser reutilizada, uma cópia será feita e atualizada.
`indices` é um tensor inteiro contendo índices em um novo tensor de forma `tensor.shape`. A última dimensão dos `índices` pode ser no máximo a classificação de `tensor.shape`:
indices.shape[-1] <= tensor.shape.rank
indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
Em Python, esta operação de adição de dispersão ficaria assim:
>>> índices = tf.constant([[4], [3], [1], [7]]) >>> atualizações = tf.constant([9, 10, 11, 12]) >>> tensor = tf.ones([8], dtype=tf.int32) >>> atualizado = tf.tensor_scatter_nd_add(tensor, índices, atualizações) >>> atualizado Também podemos inserir fatias inteiras de um tensor de classificação superior de uma só vez. Por exemplo, se quiséssemos inserir duas fatias na primeira dimensão de um tensor de posto 3 com duas matrizes de novos valores. Em Python, esta operação de adição de dispersão ficaria assim: >>> índices = tf.constant([[0], [2]]) >>> atualizações = tf.constant([[[5, 5, 5, 5], [6, 6, 6, 6], ... [7, 7, 7, 7], [8, 8, 8, 8]], ... [[5, 5, 5, 5], [6, 6, 6, 6], .. . [7, 7, 7, 7], [8, 8, 8, 8]]]) >>> tensor = tf.ones([4, 4, 4],dtype=tf.int32) >>> atualizado. = tf.tensor_scatter_nd_add(tensor, índices, atualizações) >>> atualizado Nota: na CPU, se um índice fora do limite for encontrado, um erro será retornado. Na GPU, se um índice fora do limite for encontrado, o índice será ignorado.
Métodos Públicos
Saída <T> | asOutput () Retorna o identificador simbólico de um tensor. |
estático <T, U estende número> TensorScatterAdd <T> | criar (escopo do escopo , tensor 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 TensorScatterAdd. |
Saída <T> | saída () Um novo tensor copiado do tensor e atualizado adicionado de acordo com os índices. |
Métodos herdados
Métodos Públicos
Saída pública <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 TensorScatterAdd <T> create (escopo do escopo , tensor 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 TensorScatterAdd.
Parâmetros
escopo | escopo atual |
---|---|
tensor | Tensor para copiar/atualizar. |
índices | Tensor de índice. |
atualizações | Atualizações para dispersão na saída. |
Devoluções
- uma nova instância do TensorScatterAdd
Saída pública <T> saída ()
Um novo tensor copiado do tensor e atualizado adicionado de acordo com os índices.