StridedSliceHelper

classe abstrata pública StridedSliceHelper

Métodos de endpoint auxiliares para Python, como indexação.

Veja também

Construtores Públicos

Métodos Públicos

estático <T estende TType > StridedSlice <T>
stridedSlice (escopo do escopo , entrada do operando <T>, índice... índices)
Retorna uma fatia escalonada de `input`.
estático <T estende TType > StridedSliceAssign <T>
stridedSliceAssign (escopo do escopo , referência do operando <T>, valor do operando <T>, índice... índices)
Atribua `valor` à referência de valor l fatiado de `ref`.

Métodos herdados

Construtores Públicos

StridedSliceHelper público ()

Métodos Públicos

public static StridedSlice <T> stridedSlice (escopo do escopo , entrada do operando <T>, índice... índices)

Retorna uma fatia escalonada de `input`.

O objetivo desta operação é produzir um novo tensor com um subconjunto dos elementos do tensor `n` dimensional `input`. O subconjunto é escolhido usando uma sequência de especificações de intervalo esparso `m` codificadas nos argumentos desta função. Observe que, em alguns casos, `m` pode ser igual a `n`, mas não precisa ser esse o caso. Cada entrada de especificação de intervalo pode ser uma das seguintes:

- Uma reticência (...) usando ellipsis() . Elipses são usadas para indicar zero ou mais dimensões de seleção de dimensão total. Por exemplo, stridedSlice(foo, Indices.ellipsis() é a fatia de identidade.

- Um novo eixo usando newAxis() . Isso é usado para inserir uma nova dimensão shape=1. Por exemplo, ` stridedSlice(foo, Indices.newAxis()) onde foo é a forma (3, 4) produz um tensor (1, 3, 4) .

- Um intervalo begin:end:stride usando slice(Long, Long, long) Index.slice()} ou all() . Isso é usado para especificar quanto escolher em uma determinada dimensão. stride pode ser qualquer número inteiro, exceto 0. begin é um número inteiro que representa o índice do primeiro valor a ser selecionado, enquanto end representa o índice do último valor a ser selecionado (exclusivo). Begin e end podem ser nulos; nesse caso, o índice começa ou termina no início ou no final da dimensão, respectivamente (invertido se o passo for negativo). Quando ambos são nulos, slice() é igual a all() . O número de valores selecionados em cada dimensão é end - begin se stride > 0 e begin - end se stride < 0 . begin e end podem ser negativos, onde -1 é o último elemento, -2 é o penúltimo. Por exemplo, dado um tensor de forma (3,) stridedSlice(foo, Indices.all()) , o begin e end efetivos são 0 e 3 . Não presuma que isso é equivalente a stridedSlice(foo, Indices.slice(0, -1)) que tem begin e end efetivos de 0 e 2 . Outro exemplo é stridedSlice(foo, Indices.slice(-2, null, -1)) que inverte a primeira dimensão de um tensor enquanto elimina as duas últimas (nos elementos da ordem original). Por exemplo foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) é [4,3] .

- Um único índice usando at(long) . Isso é usado para manter apenas os elementos que possuem um determinado índice. Por exemplo ( stridedSlice(foo, Indices.at(2)) em um tensor de forma (5,6) produz um tensor de forma (6,) . A dimensão pode ser mantida com tamanho um usando at(long, boolean) .

Essa semântica geralmente segue a semântica de indexação do NumPy, que pode ser encontrada aqui: https://numpy.org/doc/stable/reference/arrays.indexing.html

Requisitos : `0! = passadas[i] para i em [0, m)` Apenas uma reticência.

Parâmetros
escopo escopo atual
índices Os índices a serem fatiados. Veja Indices .
Devoluções
  • uma nova instância de StridedSlice
Veja também

public static StridedSliceAssign <T> stridedSliceAssign (escopo do escopo , referência do operando <T>, valor do operando <T>, índice... índices)

Atribua `valor` à referência de valor l fatiado de `ref`.

Os valores de `value` são atribuídos às posições na variável `ref` que são selecionadas pelos parâmetros de fatia. Os parâmetros de fatia `begin`, `end`, `strides`, etc. funcionam exatamente como em `StridedSlice`.

NOTA: esta operação atualmente não suporta transmissão e, portanto, a forma do `valor` deve ser exatamente a forma produzida pela fatia de `ref`.

Parâmetros
escopo escopo atual
referência o tensor ao qual atribuir.
valor o valor a atribuir.
índices Os índices a serem fatiados. Veja Indices .
Devoluções
  • uma nova instância de StridedSliceAssign