Shape

classe finale pubblica Shape

La forma di un Tensore o NdArray .

Una Shape definisce le dimensioni lungo i suoi assi. Può contenere una dimensione sconosciuta per uno degli assi o può essere totalmente sconosciuta, nel qual caso non si conosce nemmeno il numero di assi. Se la dimensione di un asse è sconosciuta, come dimensione deve essere utilizzato UNKNOWN_SIZE .

Campi

pubblico statico lungo UNKNOWN_SIZE La dimensione di un asse sconosciuto o la dimensione sconosciuta totale per una forma sconosciuta.

Metodi pubblici

Forma
aggiungere (long lastDimension)
Restituisce una nuova forma, con l'aggiunta di una nuova ultima dimensione.
Forma
aggiungere ( Forma altro)
Restituisce una nuova Shape, con l'aggiunta delle dimensioni di un'altra Shapes.
lungo[]
asArray ()
Restituisce una copia difensiva degli assi di questa forma.
booleano
è uguale a (Oggetto oggetto)
Uguale all'implementazione per Shapes.
booleano
hasUnknownDimension ()
Restituisce se una o più dimensioni di questa forma hanno una dimensione sconosciuta.
int
Forma
Testa ()
Restituisce una forma unidimensionale con la prima dimensione che corrisponde alla prima dimensione di questa forma.
booleano statico
isCompatible (long dim, long otherDim)
Prova per vedere se due dimensioni della forma sono compatibili.
booleano
isCompatibleWith ( Forma forma)
Determina se un'altra forma è compatibile con questa.
booleano
èMatrice ()
Restituisce se questa Shape è la forma di una matrice
booleano
èScalare ()
Restituisce se questa Shape rappresenta uno scalare.
booleano
è sconosciuto ()
Restituisce se il numero di dimensioni di questa forma è sconosciuto.
booleano
èVettore ()
Restituisce se questo Shape è la forma di un vettore.
int
numerodimensioni ()
Restituisce il numero di dimensioni di questa forma.
Forma statica
di (lungo... dimensioneDimensioni)
Crea una forma che rappresenta un valore scalare o N-dimensionale.
Forma
anteporre ( Forma altro)
Restituisce una nuova Shape, preceduta dalle dimensioni di un'altra Shape.
Forma
anteporre (prima dimensione lunga)
Restituisce una nuova forma, con l'aggiunta di una nuova prima dimensione.
Forma statica
scalare ()
Crea un oggetto Shape che rappresenta un valore scalare.
lungo
dimensione (int i)
La dimensione della dimensione con l'indice specificato.
lungo
misurare ()
Restituisce il numero totale di elementi che avrebbe un tensore con questa forma.
Forma
sottoforma (int inizio, int fine)
Restituisce una forma dimensionale end - begin con dimensioni corrispondenti a questa forma begin alla end .
Forma
coda ()
Restituisce una nuova Shape, con la prima dimensione di questa Shape rimossa.
Forma
prendere (int n)
Restituisce una forma n-dimensionale con le dimensioni che corrispondono alle prime n dimensioni di questa forma
Forma
prendiUltimo (int n)
Restituisce una forma n-dimensionale con le dimensioni che corrispondono alle ultime n dimensioni di questa forma.
Corda
accordare ()
Descrizione concisa della forma destinata al debug.
Forma statica
sconosciuto ()
Crea una forma che rappresenta un numero sconosciuto di dimensioni.

Metodi ereditati

Campi

pubblico statico lungo UNKNOWN_SIZE

La dimensione di un asse sconosciuto o la dimensione sconosciuta totale per una forma sconosciuta.

Metodi pubblici

aggiunta forma pubblica (long lastDimension)

Restituisce una nuova forma, con l'aggiunta di una nuova ultima dimensione. Affinché questa chiamata abbia esito positivo, isUnknown() deve essere false .

Parametri
ultima dimensione la dimensione da aggiungere
ritorna
  • una nuova Forma con le dimensioni di questa Forma seguite dalla dimensione data, mai nulla

public Forma aggiungi ( Forma altro)

Restituisce una nuova Shape, con l'aggiunta delle dimensioni di un'altra Shapes. Sia per questa forma che per l'altra forma, isUnknown() deve restituire false. Ad esempio @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }

Parametri
altro un'altra forma, non deve essere null , non deve essere sconosciuta
ritorna
  • Una nuova forma composta dalle dimensioni di questa forma seguite dalle dimensioni della forma specificata

public long[] asArray ()

Restituisce una copia difensiva degli assi di questa Forma. Modifiche all'array restituito per non modificare lo stato di questa forma. Restituisce null se isUnknown() è vero.

booleano pubblico è uguale a (Oggetto obj)

Uguale all'implementazione per Shapes. Due forme sono considerate uguali se e solo se:

  • il numero di dimensioni è definito e uguale per entrambi
  • la dimensione di ciascuna dimensione è definita e uguale per entrambe

Se una delle forme ha dimensioni sconosciute (anche se sono le stesse in entrambe) o se una delle forme ha un numero sconosciuto di dimensioni (anche se entrambe restituiscono true per isUnknown() ), non sono considerate uguali! Tuttavia una forma sarà sempre uguale a se stessa, anche se è sconosciuta o contiene dimensioni sconosciute.

booleano pubblico hasUnknownDimension ()

Restituisce se una o più dimensioni di questa forma hanno una dimensione sconosciuta.

public int hashCode ()

Testa di forma pubblica ()

Restituisce una forma unidimensionale con la prima dimensione che corrisponde alla prima dimensione di questa forma.

booleano statico pubblico isCompatible (long dim, long otherDim)

Prova per vedere se due dimensioni della forma sono compatibili.

Le dimensioni sono compatibili se una delle dimensioni è Shape.UNKNOWN_SIZE o entrambe le dimensioni sono uguali

Parametri
debole la prima dimensione
altroDim la seconda dimensione
ritorna
  • true, se entrambe le dimensioni sono compatibili

booleano pubblico isCompatibleWith ( Shape shape)

Determina se un'altra forma è compatibile con questa.

Due forme possibilmente parzialmente definite sono compatibili se esiste una forma completamente definita che entrambe le forme possono rappresentare. Pertanto, la compatibilità consente al codice di inferenza della forma di ragionare su forme parzialmente definite. Per esempio:

  • Shape.unknown() è compatibile con tutte le forme.
  • Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) è compatibile con tutte le forme bidimensionali, come Shape(32, 784) e anche Shape.unknown() . Non è compatibile, ad esempio, con Shape(UNKNOWN_SIZE) o Shape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE) .
  • Shape(32, UNKNOWN_SIZE) è compatibile con tutte le forme bidimensionali con dimensione 32 nella dimensione 0 e anche Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) e Shape.unknown() . Non è compatibile, ad esempio, con Shape(32) , Shape(32, UNKNOWN_SIZE, 1) o Shape(64, UNKNOWN_SIZE) .
  • Shape(32, 784) è compatibile con se stesso e anche Shape(32, UNKNOWN_SIZE) , Shape(UNKNOWN_SIZE, 784) , Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) e Shape.unknown() . Non è compatibile, ad esempio, con Shape(32, 1, 784) o Shape(UNKNOWN_SIZE) .

La relazione di compatibilità è riflessiva e simmetrica, ma non transitiva. Ad esempio, Shape(32, 784) è compatibile con Shape.unknown() e Shape.unknown() è compatibile con Shape(4, 4) , ma Shape(32, 784) non è compatibile con Shape(4, 4) .

La compatibilità non è la stessa cosa della trasmissione. Le forme compatibili devono avere lo stesso numero di dimensioni e per ciascuna coppia di dimensioni, una dimensione deve essere uguale alle altre dimensioni o almeno una delle dimensioni nella coppia deve essere UNKNOWN_SIZE.

La trasmissione consente dimensioni diverse, ma le dimensioni accoppiate devono essere uguali oppure una dimensione deve essere 1. Se una forma ha meno dimensioni di un'altra forma, la forma più piccola viene "allungata" con dimensioni pari a 1.

Parametri
forma L'altra forma
ritorna
  • true, se le due forme sono compatibili.

isMatrix booleano pubblico ()

Restituisce se questa Shape è la forma di una matrice

booleano pubblico isScalar ()

Restituisce se questa Shape rappresenta uno scalare.

booleano pubblico è sconosciuto ()

Restituisce se il numero di dimensioni di questa forma è sconosciuto.

isVector booleano pubblico ()

Restituisce se questo Shape è la forma di un vettore.

public int numDimensioni ()

Restituisce il numero di dimensioni di questa forma. -1 se sconosciuto, 0 per uno scalare, 1 per un vettore, 2 per una matrice ecc.

forma statica pubblica di (long... dimensionSizes)

Crea una forma che rappresenta un valore scalare o N-dimensionale.

Crea una forma che rappresenta un valore scalare o N-dimensionale (N è almeno 1), con la dimensione fornita per ogni dimensione. Un -1 indica che la dimensione della dimensione corrispondente è sconosciuta. Se non vengono fornite dimensioni, viene creata una forma che rappresenta uno scalare. Ad esempio:

// A 2-element vector.
 Shape vector = Shape.of(2);

 // A 2x3 matrix.
 Shape matrix = Shape.of(2, 3);

 // A matrix with 4 columns but an unknown number of rows.
 // This is typically used to indicate the shape of tensors that represent
 // a variable-sized batch of values. The Shape below might represent a
 // variable-sized batch of 4-element vectors.
 Shape batch = Shape.of(-1, 4);

 // A scalar. For readability, you should prefer calling Shape.scalar()
 Shape scalar = Shape.of()
 

Parametri
dimensioneDimensioni numero di elementi in ciascuna dimensione di questa forma, se presente, o UNKNOWN_SIZE se sconosciuto.
ritorna
  • una nuova forma

public Forma prepend ( Forma altro)

Restituisce una nuova Shape, preceduta dalle dimensioni di un'altra Shape. Sia per questa forma che per l'altra forma, isUnknown() deve restituire false. Ad esempio Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)

Parametri
altro un'altra forma, non deve essere null , non deve essere sconosciuta
ritorna
  • Una nuova Forma costituita dalle dimensioni della Forma data seguite dalle dimensioni di questa Forma, mai nulle

public Shape prepend (long firstDimension)

Restituisce una nuova forma, con l'aggiunta di una nuova prima dimensione. Affinché questa chiamata abbia esito positivo, isUnknown() deve essere false .

Parametri
prima dimensione la dimensione da anteporre
ritorna
  • prima una nuova forma con la dimensione data, seguita dalle dimensioni di questa forma, mai nulle

pubblica statica Forma scalare ()

Crea un oggetto Shape che rappresenta un valore scalare.

ritorna
  • Una forma senza dimensioni per la quale isScalar() è vera, mai nulla.

dimensione lunga pubblica (int i)

La dimensione della dimensione con l'indice specificato.

Se isUnknown() è vero o la dimensione della dimensione con l'indice specificato ha una dimensione sconosciuta, viene restituito UNKNOWN_SIZE .

Parametri
io l'indice della dimensione per cui ottenere la dimensione. Se questa forma ha un numero noto di dimensioni, deve essere < numDimensions() . L'indice può essere negativo, nel qual caso la posizione viene conteggiata dalla fine della forma. Ad esempio: size(-1) restituisce la dimensione dell'ultima dimensione, size(-2) la dimensione della penultima dimensione ecc.
ritorna
  • La dimensione della dimensione con l'indice fornito, se noto, UNKNOWN_SIZE altrimenti.

dimensione lunga pubblica ()

Restituisce il numero totale di elementi che avrebbe un tensore con questa forma.

Se isUnknown() è vero o hasUnknownDimension() è vero, viene restituito UNKNOWN_SIZE .

ritorna
  • Il numero totale di elementi che un tensore con questa forma avrebbe se potesse essere calcolato, altrimenti UNKNOWN_SIZE .

public Shape subShape (int inizio, int fine)

Restituisce una forma dimensionale end - begin con dimensioni corrispondenti a questa forma begin alla end .

Parametri
inizio Da dove iniziare la forma secondaria.
FINE Dove finisce la sottoforma, esclusiva.
ritorna
  • la sottoforma delimitata da inizio e fine.

coda di forma pubblica ()

Restituisce una nuova Shape, con la prima dimensione di questa Shape rimossa.

public Forma prendere (int n)

Restituisce una forma n-dimensionale con le dimensioni che corrispondono alle prime n dimensioni di questa forma

Parametri
N il numero di dimensioni iniziali da ottenere deve essere <= di numDimensions()
ritorna
  • una Forma n-dimensionale con le prime n dimensioni che corrispondono alle prime n dimensioni di questa Forma

public Shape takeLast (int n)

Restituisce una forma n-dimensionale con le dimensioni che corrispondono alle ultime n dimensioni di questa forma.

Parametri
N il numero di dimensioni finali da ottenere deve essere <= di numDimensions()
ritorna
  • una forma n-dimensionale con le dimensioni corrispondenti alle ultime n dimensioni di questa forma, mai nulle

stringa pubblica toString ()

Descrizione concisa della forma destinata al debug.

forma statica pubblica sconosciuta ()

Crea una forma che rappresenta un numero sconosciuto di dimensioni.

ritorna
  • Una forma per la quale isUnknown() è vera, mai nulla.