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