GatherNd

clase final pública GatherNd

Reúne segmentos de `params` en un tensor con la forma especificada por `indices`.

`indices` es un tensor de enteros K-dimensional, mejor pensado como un tensor (K-1)-dimensional de índices en `params`, donde cada elemento define una porción de `params`:

salida[\\(i_0, ..., i_{K-2}\\)] = params[índices[\\(i_0, ..., i_{K-2}\\)]]

Mientras que en tf.gather `indices` define cortes en la dimensión `axis` de `params`, en tf.gather_nd , `indices` define cortes en las primeras `N` dimensiones de `params`, donde `N = indices.shape [-1]`.

La última dimensión de `índices` puede tener como máximo el rango de `params`:

índices.shape[-1] <= params.rank

La última dimensión de `indices` corresponde a elementos (si `indices.shape[-1] == params.rank`) o porciones (si `indices.shape[-1] < params.rank`) a lo largo de la dimensión `indices. forma[-1]` de `parámetros`. El tensor de salida tiene forma

índices.forma[:-1] + params.forma[índices.forma[-1]:]

Tenga en cuenta que en la CPU, si se encuentra un índice fuera de límite, se devuelve un error. En GPU, si se encuentra un índice fuera de límites, se almacena un 0 en el valor de salida correspondiente.

Algunos ejemplos a continuación.

Indexación simple en una matriz:

indices = [[0, 0], [1, 1]]
     params = [['a', 'b'], ['c', 'd']]
     output = ['a', 'd']
 
Indexación por sectores en una matriz:
indices = [[1], [0]]
     params = [['a', 'b'], ['c', 'd']]
     output = [['c', 'd'], ['a', 'b']]
 
Indexación en un tensor 3:
indices = [[1]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[['a1', 'b1'], ['c1', 'd1']]]
 
 
     indices = [[0, 1], [1, 0]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [['c0', 'd0'], ['a1', 'b1']]
 
 
     indices = [[0, 0, 1], [1, 0, 1]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = ['b0', 'b1']
 
Indexación por lotes en una matriz:
indices = [[[0, 0]], [[0, 1]]]
     params = [['a', 'b'], ['c', 'd']]
     output = [['a'], ['b']]
 
Indexación por lotes en una matriz:
indices = [[[1]], [[0]]]
     params = [['a', 'b'], ['c', 'd']]
     output = [[['c', 'd']], [['a', 'b']]]
 
Indexación por lotes en un tensor de 3:
indices = [[[1]], [[0]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[[['a1', 'b1'], ['c1', 'd1']]],
               [[['a0', 'b0'], ['c0', 'd0']]]]
 
     indices = [[[0, 1], [1, 0]], [[0, 0], [1, 1]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[['c0', 'd0'], ['a1', 'b1']],
               [['a0', 'b0'], ['c1', 'd1']]]
 
 
     indices = [[[0, 0, 1], [1, 0, 1]], [[0, 1, 1], [1, 1, 0]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [['b0', 'b1'], ['d0', 'c1']]
 
Consulte también tf.gather y `tf.batch_gather`.

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico de un tensor.
estático <T, U extiende Número> GatherNd <T>
crear ( ámbito de ámbito, parámetros de operando <T>, índices de operando <U>)
Método de fábrica para crear una clase que envuelve una nueva operación GatherNd.
Salida <T>
salida ()
Valores de `params` recopilados a partir de índices dados por `indices`, con forma `indices.shape[:-1] + params.shape[indices.shape[-1]:]`.

Métodos Heredados

Métodos públicos

salida pública <T> como salida ()

Devuelve el identificador simbólico de un tensor.

Las entradas de las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

Public static GatherNd <T> create ( Scope scope, Operand <T> params, Operand <U> indexes)

Método de fábrica para crear una clase que envuelve una nueva operación GatherNd.

Parámetros
alcance alcance actual
parámetros El tensor a partir del cual recopilar valores.
índices Tensor índice.
Devoluciones
  • una nueva instancia de GatherNd

salida pública <T> salida ()

Valores de `params` recopilados a partir de índices dados por `indices`, con forma `indices.shape[:-1] + params.shape[indices.shape[-1]:]`.