StridedSliceHelper

classe astratta pubblica StridedSliceHelper

Metodi endpoint helper per Python come l'indicizzazione.

Guarda anche

Costruttori pubblici

Metodi pubblici

statico <T estende TType > StridedSlice <T>
stridedSlice (ambito dell'ambito , input dell'operando <T>, indice... indici)
Restituisce una sezione striata da "input".
statico <T estende TType > StridedSliceAssign <T>
stridedSliceAssign (ambito ambito , riferimento operando <T>, valore operando <T>, indice... indici)
Assegna "value" al riferimento del valore l suddiviso di "ref".

Metodi ereditati

Costruttori pubblici

pubblico StridedSliceHelper ()

Metodi pubblici

public static StridedSlice <T> stridedSlice ( scope scope, operando <T> input, indice... indici)

Restituisce una sezione striata da "input".

L'obiettivo di questa operazione è produrre un nuovo tensore con un sottoinsieme di elementi dal tensore "input" `n` dimensionale. Il sottoinsieme viene scelto utilizzando una sequenza di specifiche di intervallo sparse `m` codificate negli argomenti di questa funzione. Nota: in alcuni casi "m" potrebbe essere uguale a "n", ma non è necessario che sia così. Ciascuna voce di specifica dell'intervallo può essere una delle seguenti:

- Un'ellissi (...) utilizzando ellipsis() . Le ellissi vengono utilizzate per implicare zero o più dimensioni della selezione a dimensione intera. Ad esempio, stridedSlice(foo, Indices.ellipsis() è la sezione dell'identità.

- Un nuovo asse utilizzando newAxis() . Viene utilizzato per inserire una nuova forma=1 dimensione. Ad esempio, ` stridedSlice(foo, Indices.newAxis()) dove foo è forma (3, 4) produce un tensore (1, 3, 4) .

- Un intervallo begin:end:stride utilizzando slice(Long, Long, long) Index.slice()} o all() . Viene utilizzato per specificare quanto scegliere da una determinata dimensione. stride può essere qualsiasi numero intero tranne 0. begin è un numero intero che rappresenta l'indice del primo valore da selezionare mentre end rappresenta l'indice dell'ultimo valore da selezionare (esclusivo). Begin e end possono essere nulli, nel qual caso l'indice inizia o termina rispettivamente all'inizio o alla fine della dimensione (invertito se stride è negativo). Quando entrambi sono nulli, slice() è uguale a all() . Il numero di valori selezionati in ciascuna dimensione è end - begin se stride > 0 e begin - end se stride < 0 . begin e end possono essere negativi dove -1 è l'ultimo elemento, -2 è il penultimo. Ad esempio, data una forma (3,) tensor stridedSlice(foo, Indices.all()) , l' begin e la end effettivi sono 0 e 3 . Non dare per scontato che questo sia equivalente a stridedSlice(foo, Indices.slice(0, -1)) che ha un begin e end effettivi di 0 e 2 . Un altro esempio è stridedSlice(foo, Indices.slice(-2, null, -1)) che inverte la prima dimensione di un tensore lasciando cadere le ultime due (nell'ordine originale degli elementi). Ad esempio foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) is [4,3] .

- Un singolo indice che utilizza at(long) . Viene utilizzato per mantenere solo gli elementi che hanno un determinato indice. Ad esempio ( stridedSlice(foo, Indices.at(2)) su un tensore di forma (5,6) produce un tensore di forma (6,) . La dimensione può essere mantenuta con la dimensione uno utilizzando at(long, boolean) .

Queste semantiche generalmente seguono la semantica di indicizzazione di NumPy, che può essere trovata qui: https://numpy.org/doc/stable/reference/arrays.indexing.html

Requisiti : `0 != strides[i] for i in [0, m)` Solo un punto di sospensione.

Parametri
scopo ambito attuale
indici Gli indici da affettare. Vedi Indices .
ritorna
  • una nuova istanza di StridedSlice
Guarda anche

public static StridedSliceAssign <T> stridedSliceAssign ( ambito ambito , riferimento operando <T>, valore operando <T>, indice... indici)

Assegna "value" al riferimento del valore l suddiviso di "ref".

I valori di "value" vengono assegnati alle posizioni nella variabile "ref" selezionate dai parametri della sezione. I parametri di sezione `begin`, `end`, `strides`, ecc. funzionano esattamente come in `StridedSlice`.

NOTA: questa operazione attualmente non supporta la trasmissione e quindi la forma di "valore" deve essere esattamente la forma prodotta dalla fetta di "ref".

Parametri
scopo ambito attuale
rif il tensore a cui assegnare.
valore il valore da assegnare.
indici Gli indici da affettare. Vedi Indices .
ritorna
  • una nuova istanza di StridedSliceAssign