StridedSliceHelper

StridedSliceHelper clase abstracta pública

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

Ver también

Constructores públicos

Métodos públicos

estática <T se extiende Ttype > StridedSlice <T>
stridedSlice ( Alcance alcance, operando <T> de entrada, Índice ... índices)
Devuelve un corte escalonado de "input".
estática <T se extiende Ttype > StridedSliceAssign <T>
stridedSliceAssign ( Alcance alcance, operando <T> ref, operando <T> valor, Índice ... índices)
Asigne "valor" a la referencia del valor l en rodajas de "ref".

Métodos heredados

Constructores públicos

StridedSliceHelper pública ()

Métodos públicos

public static StridedSlice <T> stridedSlice ( Alcance alcance, operando <T> de entrada, Índice ... índices)

Devuelve un corte escalonado de "input".

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

- Los puntos suspensivos (...) el uso de 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 la rebanada de identidad.

- un nuevo eje usando newAxis() . 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 (1, 3, 4) tensor.

- Una gama begin:end:stride utilizando slice(Long, Long, long) Index.slice ()} o all() . Se utiliza para especificar cuánto elegir de una dimensión determinada. stride puede ser cualquier número entero pero 0. begin es un número entero que representa el índice del primer valor para seleccionar mientras end representa el índice del último valor para seleccionar (exclusivo). El inicio 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 la zancada es negativa). Cuando ambos son null, slice() es el 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 puede ser negativo donde -1 es el último elemento, -2 es la segunda a la última. Por ejemplo, dada una forma (3,) tensor stridedSlice(foo, Indices.all()) , el eficaz begin y end son 0 y 3 . No asuma esto es equivalente a stridedSlice(foo, Indices.slice(0, -1)) que tiene una eficaz begin y end de 0 y 2 . Otro ejemplo es stridedSlice(foo, Indices.slice(-2, null, -1)) que invierte la primera dimensión de un tensor mientras dejando caer los dos últimos (en los elementos de orden original). Por ejemplo foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) es [4,3] .

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

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

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

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

public static StridedSliceAssign <T> stridedSliceAssign ( Alcance alcance, operando <T> ref, operando <T> valor, Índice ... índices)

Asigne "valor" a la referencia del valor l en rodajas de "ref".

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

TENGA EN CUENTA que esta operación actualmente no admite la transmisión y, por lo tanto, la forma de `value` debe ser exactamente la forma producida por el segmento de` ref`.

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