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> | |
| Tensore statico <Lungo> | |
| Tensore statico <intero> | |
| Tensore statico <Float> | |
| Tensore <T> statico <T> | creare (Oggetto oggetto, tipo Classe<T>) Crea un tensore da un oggetto Java. |
| Tipo di dati | |
| 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 | |
| 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[] | |
| Corda | aStringa () Restituisce una stringa che descrive il tipo e la forma del Tensore. |
| vuoto | |
| vuoto | |
| vuoto | |
| vuoto | writeTo (ByteBuffer dst) Scrivi i dati del tensore nel buffer specificato. |
| vuoto |
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 .
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);
}
Parametri
| 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.
Parametri
| ogg |
|---|
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 insieme 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);
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<String> 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<String> m = Tensor.create(matrix, String.class);
Parametri
| ogg | L'oggetto da convertire in un 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 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 scalare Integer .
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 |