Tensor

Tensore della classe finale pubblica

Un array multidimensionale tipizzato staticamente i cui elementi sono del tipo descritto da T.

Le istanze di un tensore non sono thread-safe.

ATTENZIONE: le risorse consumate dall'oggetto Tensor devono essere liberate esplicitamente richiamando il metodo close() quando l'oggetto non è più necessario. Ad esempio, utilizzando un blocco try-with-resources:

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 
 }

Metodi pubblici

booleano
valore booleano ()
Restituisce il valore in un tensore Boolean scalare.
byte[]
byteValore ()
Restituisce il valore in un tensore String scalare.
vuoto
vicino ()
Rilascia risorse associate al Tensore.
<U>U
copyTo (U dst)
Copia il contenuto del tensore in dst e restituisce dst .
Tensore statico <?>
creare (Oggetto oggetto)
Crea un tensore da un oggetto la cui classe viene ispezionata per capire quale dovrebbe essere il tipo di dati sottostante.
Tensore statico <T> <T>
creare (tipo Classe<T>, forma long[], dati ByteBuffer)
Crea un tensore di qualsiasi tipo con i dati dal buffer specificato.
Tensore statico <Doppio>
creare (forma lunga[], dati DoubleBuffer)
Crea un Double tensore con i dati dal buffer specificato.
Tensore statico <Lungo>
creare (forma long[], dati LongBuffer)
Crea un Long tensore con i dati dal buffer specificato.
Tensore statico <intero>
creare (forma lunga[], dati IntBuffer)
Crea un tensore Integer con i dati dal buffer specificato.
Tensore statico <Float>
creare (forma lunga[], dati FloatBuffer)
Crea un tensore Float con i dati dal buffer specificato.
Tensore statico <T> <T>
creare (Oggetto oggetto, tipo Classe<T>)
Crea un tensore da un oggetto Java.
Tipo di dati
tipodati ()
Restituisce il DataType degli elementi memorizzati nel Tensor.
raddoppiare
doppioValore ()
Restituisce il valore in un tensore scalare Double .
<U> Tensore <U>
aspettarsi (tipo Classe <U>)
Restituisce questo oggetto Tensore con il tipo Tensor<U> .
galleggiante
floatValore ()
Restituisce il valore in un tensore Float scalare.
int
valoreint ()
Restituisce il valore in un tensore Integer scalare.
lungo
valore lungo ()
Restituisce il valore in un tensore scalare Long .
int
numByte ()
Restituisce la dimensione, in byte, dei dati del tensore.
int
numerodimensioni ()
Restituisce il numero di dimensioni (a volte indicato come rango ) del Tensore.
int
numElementi ()
Restituisce il numero di elementi in una vista appiattita (1-D) del tensore.
lungo[]
forma ()
Restituisce la forma del Tensore, ovvero le dimensioni di ciascuna dimensione.
Corda
aStringa ()
Restituisce una stringa che descrive il tipo e la forma del Tensore.
vuoto
writeTo (LongBuffer dst)
Scrivi i dati di un tensore Long nel buffer specificato.
vuoto
writeTo (dst DoubleBuffer)
Scrivi i dati di un Double tensore nel buffer specificato.
vuoto
writeTo (IntBuffer dst)
Scrivi i dati di un tensore Integer nel buffer specificato.
vuoto
writeTo (ByteBuffer dst)
Scrivi i dati del tensore nel buffer specificato.
vuoto
writeTo (FloatBuffer dst)
Scrivere i dati di un tensore Float nel buffer specificato.

Metodi ereditati

Metodi pubblici

booleano pubblico booleanoValore ()

Restituisce il valore in un tensore Boolean scalare.

Lancia
IllegalArgumentException se il Tensore non rappresenta uno scalare booleano.

byte pubblico[] bytesValore ()

Restituisce il valore in un tensore String scalare.

Lancia
IllegalArgumentException se il Tensore non rappresenta uno scalare booleano.

pubblico vuoto chiudi ()

Rilascia risorse associate al Tensore.

ATTENZIONE: Questo deve essere invocato per tutti i tensori che non sono stati prodotti da un'operazione di entusiasmo altrimenti la memoria verrà persa.

L'oggetto Tensor non è più utilizzabile dopo close dei rendimenti.

public U copyTo (U dst)

Copia il contenuto del tensore in dst e restituisce dst .

Per i tensori non scalari, questo metodo copia il contenuto del tensore sottostante in un array Java. Per i tensori scalari, utilizzare invece uno tra bytesValue() , floatValue() , doubleValue() , intValue() , longValue() o booleanValue() . Il tipo e la forma di dst devono essere compatibili con il tensore. Per esempio:

int matrix[2][2] = { {1,2,{3,4} };
 try(Tensor t = Tensor.create(matrix)) {
   // Succeeds and prints "3"
   int[][] copy = new int[2][2];
   System.out.println(t.copyTo(copy)[1][0]);

   // Throws IllegalArgumentException since the shape of dst does not match the shape of t.
   int[][] dst = new int[4][1];
   t.copyTo(dst);
 }
 }

Lancia
IllegalArgumentException se il tensore è uno scalare o se dst non è compatibile con il tensore (ad esempio, tipi di dati o forme non corrispondenti).

tensore statico pubblico <?> crea (oggetto obj)

Crea un tensore da un oggetto la cui classe viene ispezionata per capire quale dovrebbe essere il tipo di dati sottostante.

Lancia
IllegalArgumentException se obj non è compatibile con il sistema di tipo TensorFlow.

Tensore statico pubblico <T> creato (tipo Classe<T>, forma long[], dati ByteBuffer)

Crea un tensore di qualsiasi tipo con i dati dal buffer specificato.

Crea un tensore con la forma fornita di qualsiasi tipo in cui i dati del tensore sono stati codificati in data secondo le specifiche dell'API TensorFlow C.

Parametri
tipo il tipo di elemento tensore, rappresentato come un oggetto di classe.
forma la forma del tensore.
dati un buffer contenente i dati del tensore.
Lancia
IllegalArgumentException Se il tipo di dati o la forma del tensore non è compatibile con il buffer

Tensore statico pubblico <Double> crea (forma lunga[], dati DoubleBuffer)

Crea un Double tensore con i dati dal buffer specificato.

Crea un tensore con la forma data copiando gli elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3) allora nel buffer devono rimanere 6 elementi, che verranno consumati da questo metodo.

Parametri
forma la forma del tensore.
dati un buffer contenente i dati del tensore.
Lancia
IllegalArgumentException Se la forma del tensore non è compatibile con il buffer

Tensore statico pubblico <Long> creato (forma long[], dati LongBuffer)

Crea un Long tensore con i dati dal buffer specificato.

Crea un tensore con la forma data copiando gli elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3) allora nel buffer devono rimanere 6 elementi, che verranno consumati da questo metodo.

Parametri
forma la forma del tensore.
dati un buffer contenente i dati del tensore.
Lancia
IllegalArgumentException Se la forma del tensore non è compatibile con il buffer

Tensore statico pubblico <Integer> crea (forma long[], dati IntBuffer)

Crea un tensore Integer con i dati dal buffer specificato.

Crea un tensore con la forma data copiando gli elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3) allora nel buffer devono rimanere 6 elementi, che verranno consumati da questo metodo.

Parametri
forma la forma del tensore.
dati un buffer contenente i dati del tensore.
Lancia
IllegalArgumentException Se la forma del tensore non è compatibile con il buffer

Tensore statico pubblico <Float> creato (forma long[], dati FloatBuffer)

Crea un tensore Float con i dati dal buffer specificato.

Crea un tensore con la forma data copiando gli elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3) allora nel buffer devono rimanere 6 elementi, che verranno consumati da questo metodo.

Parametri
forma la forma del tensore.
dati un buffer contenente i dati del tensore.
Lancia
IllegalArgumentException Se la forma del tensore non è compatibile con il buffer

Tensore statico pubblico <T> creato (oggetto oggetto, tipo Classe <T>)

Crea un tensore da un oggetto Java.

Un Tensor è un array multidimensionale di elementi di un insieme limitato di tipi. Non tutti gli oggetti Java possono essere convertiti in un Tensor . In particolare, l'argomento obj deve essere una primitiva (float, double, int, long, boolean, byte) o un array multidimensionale di una di queste primitive. Il type di argomento specifica come interpretare il primo argomento come tipo TensorFlow. Per esempio:

// Valid: A 64-bit integer scalar.
 Tensor<Long> s = Tensor.create(42L, Long.class);

 // Valid: A 3x2 matrix of floats.
 float[][] matrix = new float[3][2];
 Tensor<Float> m = Tensor.create(matrix, Float.class);

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor<?> o = Tensor.create(new Object())

 // Invalid: Will throw an IllegalArgumentException since there are
 // a differing number of elements in each row of this 2-D array.
 int[][] twoD = new int[2][];
 twoD[0] = new int[1];
 twoD[1] = new int[2];
 Tensor<Integer> x = Tensor.create(twoD, Integer.class);
 
I tensori di tipo String sono array multidimensionali di sequenze di byte arbitrarie, quindi possono essere inizializzati da array di elementi byte[] . Per esempio:
// Valid: A String tensor.
 Tensor<String> s = Tensor.create(new byte[]{1, 2, 3, String.class);

 // Java Strings will need to be encoded into a byte-sequence.
 String mystring = "foo";
 Tensor s = Tensor.create(mystring.getBytes("UTF-8"), String.class);

 // Valid: Matrix of String tensors.
 // Each element might have a different length.
 byte[][][] matrix = new byte[2][2][];
 matrix[0][0] = "this".getBytes("UTF-8");
 matrix[0][1] = "is".getBytes("UTF-8");
 matrix[1][0] = "a".getBytes("UTF-8");
 matrix[1][1] = "matrix".getBytes("UTF-8");
 Tensor m = Tensor.create(matrix, String.class);
 }

Parametri
ogg Oggetto da convertire in Tensor<T> . Si noti che la compatibilità con il tipo T non viene verificata dal sistema dei tipi. Per la creazione indipendente dai tipi di tensori, utilizzare Tensors .
tipo L'oggetto classe che rappresenta il tipo T.
Lancia
IllegalArgumentException se obj non è compatibile con il sistema di tipo TensorFlow.

public DataType dataType ()

Restituisce il DataType degli elementi memorizzati nel Tensor.

public double doubleValue ()

Restituisce il valore in un tensore scalare Double .

Lancia
IllegalArgumentException se il Tensore non rappresenta un doppio scalare.

tensore pubblico <U> previsto (tipo Classe <U>)

Restituisce questo oggetto Tensore con il tipo Tensor<U> . Questo metodo è utile quando viene fornito un valore di tipo Tensor<?> .

Parametri
tipo qualsiasi array (non nullo) del tipo corretto.
Lancia
IllegalArgumentException se il tipo di dati effettivo di questo oggetto non corrisponde al tipo U .

public float floatValue ()

Restituisce il valore in un tensore Float scalare.

Lancia
IllegalArgumentException se il Tensore non rappresenta uno scalare float.

public int intValue ()

Restituisce il valore in un tensore Integer scalare.

Lancia
IllegalArgumentException se il Tensore non rappresenta uno scalare int.

public long longValue ()

Restituisce il valore in un tensore scalare Long .

Lancia
IllegalArgumentException se il Tensore non rappresenta uno scalare lungo.

public int numBytes ()

Restituisce la dimensione, in byte, dei dati del tensore.

public int numDimensioni ()

Restituisce il numero di dimensioni (a volte indicato come rango ) del Tensore.

Sarà 0 per uno scalare, 1 per un vettore, 2 per una matrice, 3 per un tensore tridimensionale ecc.

public int numElements ()

Restituisce il numero di elementi in una vista appiattita (1-D) del tensore.

forma pubblica lunga[] ()

Restituisce la forma del Tensore, ovvero le dimensioni di ciascuna dimensione.

Ritorni
  • un array in cui l'i-esimo elemento è la dimensione dell'i-esima dimensione del tensore.

stringa pubblica toString ()

Restituisce una stringa che descrive il tipo e la forma del Tensore.

public void writeTo (LongBuffer dst)

Scrivi i dati di un tensore Long nel buffer specificato.

Copia gli elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se lo spazio nel buffer specificato non è sufficiente per i dati in questo tensore
IllegalArgumentException Se il tipo di dati del tensore non è Long

public void writeTo (DoubleBuffer dst)

Scrivi i dati di un Double tensore nel buffer specificato.

Copia gli elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se lo spazio nel buffer specificato non è sufficiente per i dati in questo tensore
IllegalArgumentException Se il tipo di dati del tensore non è Double

public void writeTo (IntBuffer dst)

Scrivi i dati di un tensore Integer nel buffer specificato.

Copia gli elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se lo spazio nel buffer specificato non è sufficiente per i dati in questo tensore
IllegalArgumentException Se il tipo di dati del tensore non è Integer

public void writeTo (ByteBuffer dst)

Scrivi i dati del tensore nel buffer specificato.

Copia i byte numBytes() nel buffer nell'ordine dei byte nativo per i tipi primitivi.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se lo spazio nel buffer specificato non è sufficiente per i dati in questo tensore

public void writeTo (FloatBuffer dst)

Scrivere i dati di un tensore Float nel buffer specificato.

Copia gli elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se lo spazio nel buffer specificato non è sufficiente per i dati in questo tensore
IllegalArgumentException Se il tipo di dati del tensore non è Float