StridedSliceHelper

clase abstracta pública StridedSliceHelper

Métodos de punto final auxiliares para Python como la indexación.

Ver también

Constructores Públicos

Métodos públicos

estático <T extiende TType > StridedSlice <T>
stridedSlice (alcance del alcance , entrada del operando <T>, índice... índices)
Devuelve un segmento recorrido desde la "entrada".
estático <T extiende TType > StridedSliceAssign <T>
stridedSliceAssign (alcance del alcance , referencia del operando <T>, valor del operando <T>, índice... índices)
Asigne "valor" a la referencia del valor l dividido de "ref".

Métodos heredados

Constructores Públicos

público StridedSliceHelper ()

Métodos públicos

StridedSlice estático público <T> stridedSlice (alcance del alcance , entrada del operando <T>, índice... índices)

Devuelve un segmento recorrido desde la "entrada".

El objetivo de esta operación es producir un nuevo tensor con un subconjunto de elementos del tensor de "entrada" de "n" dimensiones. El subconjunto se elige utilizando una secuencia de `m` especificaciones de rango disperso codificadas en los argumentos de esta función. Tenga en cuenta que, en algunos casos, "m" podría ser igual a "n", pero no tiene por qué ser así. Cada entrada de especificación de rango puede ser una de las siguientes:

- Una elipsis (...) usando ellipsis() . Las elipses se utilizan para implicar cero o más dimensiones de selección de dimensión completa. Por ejemplo, stridedSlice(foo, Indices.ellipsis() es el segmento de identidad.

- Un nuevo eje usando newAxis() . Esto se utiliza para insertar una nueva forma = 1 dimensión. Por ejemplo, ` stridedSlice(foo, Indices.newAxis()) donde foo es la forma (3, 4) produce un tensor (1, 3, 4) .

- Un rango begin:end:stride usando slice(Long, Long, long) Index.slice()} o all() . Esto se utiliza para especificar cuánto elegir de una dimensión determinada. stride puede ser cualquier número entero excepto 0. begin es un número entero que representa el índice del primer valor a seleccionar, mientras que end representa el índice del último valor a seleccionar (exclusivo). El comienzo y el final pueden ser nulos, en cuyo caso el índice comienza o termina al principio o al final de la dimensión, respectivamente (se invierte si el paso es negativo). Cuando ambos son nulos, slice() es lo mismo que all() . El número de valores seleccionados en cada dimensión es end - begin si stride > 0 y begin - end si stride < 0 . begin y end pueden ser negativos, donde -1 es el último elemento y -2 es el penúltimo. Por ejemplo, dada una forma (3,) tensor stridedSlice(foo, Indices.all()) , el begin y end efectivos son 0 y 3 . No asuma que esto es equivalente a stridedSlice(foo, Indices.slice(0, -1)) que tiene un begin y end efectivos de 0 y 2 . Otro ejemplo es stridedSlice(foo, Indices.slice(-2, null, -1)) que invierte la primera dimensión de un tensor y elimina las dos últimas (en el orden original de los elementos). Por ejemplo foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) es [4,3] .

- Un índice único usando at(long) . Esto se utiliza para mantener sólo los elementos que tienen un índice determinado. Por ejemplo ( stridedSlice(foo, Indices.at(2)) en un tensor de forma (5,6) produce un tensor de forma (6,) . La dimensión se puede mantener con tamaño uno usando at(long, boolean) .

Esta semántica generalmente sigue la semántica de indexación de NumPy, que se puede encontrar aquí: https://numpy.org/doc/stable/reference/arrays.indexing.html

Requisitos : `0! = zancadas [i] para i en [0, m)` Solo una elipsis.

Parámetros
alcance alcance actual
índices Los índices a cortar. Ver Indices .
Devoluciones
  • una nueva instancia de StridedSlice
Ver también

público estático StridedSliceAssign <T> stridedSliceAssign (alcance alcance , referencia del operando <T>, valor del operando <T>, índice... índices)

Asigne "valor" a la referencia del valor l dividido de "ref".

Los valores de "valor" se asignan a las posiciones en la variable "ref" que se seleccionan mediante los parámetros de corte. Los parámetros de corte `begin`, `end`, `strides`, etc. funcionan exactamente como en `StridedSlice`.

NOTA: esta operación actualmente no admite la transmisión, por lo que la forma del "valor" debe ser exactamente la forma producida por la porción de "ref".

Parámetros
alcance alcance actual
árbitro el tensor a asignar.
valor el valor a asignar.
índices Los índices a cortar. Ver Indices .
Devoluciones
  • una nueva instancia de StridedSliceAssign