Avviso: questa API è obsoleta e verrà rimossa in una versione futura di TensorFlow dopo che la sostituzione sarà stabile.

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 invocando 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
booleanValue ()
Restituisce il valore in un tensore Boolean scalare.
byte[]
bytesValue ()
Restituisce il valore in un tensore di String scalare.
vuoto
chiudere ()
Rilascia le risorse associate al tensore.
<U> U
copyTo (U dst)
Copia il contenuto del tensore in dst e restituisce dst .
Tensore statico <?>
create (Object obj)
Crea un tensore da un oggetto la cui classe viene ispezionata per capire quale dovrebbe essere il tipo di dati sottostante.
statico <T> Tensore <T>
create (tipo di classe <T>, forma lunga [], dati ByteBuffer)
Crea un tensore di qualsiasi tipo con i dati dal buffer specificato.
Tensore statico <Doppio>
crea (forma lunga [], dati DoubleBuffer)
Crea un Double tensore con i dati dal buffer specificato.
Tensore statico <Lungo>
create (long [] shape, LongBuffer data)
Crea un Long tensore con i dati dal buffer specificato.
Tensore statico <Intero>
create (long [] shape, IntBuffer data)
Crea un tensore Integer con i dati dal buffer specificato.
Tensore statico <Float>
create (long [] shape, FloatBuffer data)
Crea un Float Tensor con i dati dal buffer specificato.
statico <T> Tensore <T>
create (Object obj, Class <T> type)
Crea un tensore da un oggetto Java.
Tipo di dati
dataType ()
Restituisce il DataType degli elementi archiviati in Tensor.
Doppio
doubleValue ()
Restituisce il valore in un Double tensore scalare.
<U> Tensore <U>
aspettati (tipo di classe <U>)
Restituisce questo oggetto Tensor con il tipo Tensor<U> .
galleggiante
floatValue ()
Restituisce il valore in un tensore Float scalare.
int
intValue ()
Restituisce il valore in un tensore Integer scalare.
lungo
longValue ()
Restituisce il valore in un tensore Long scalare.
int
numBytes ()
Restituisce la dimensione, in byte, dei dati del tensore.
int
numDimensions ()
Restituisce il numero di dimensioni (a volte indicato come rango ) del tensore.
int
numElements ()
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
toString ()
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 (DoubleBuffer dst)
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)
Scrivi i dati di un tensore Float nel buffer specificato.

Metodi ereditati

Metodi pubblici

public boolean booleanValue ()

Restituisce il valore in un tensore Boolean scalare.

Lancia
IllegalArgumentException se il tensore non rappresenta uno scalare booleano.

public byte [] bytesValue ()

Restituisce il valore in un tensore di String scalare.

Lancia
IllegalArgumentException se il tensore non rappresenta uno scalare booleano.

public void close ()

Rilascia le risorse associate al tensore.

AVVISO: deve essere invocato per tutti i tensori che non sono stati prodotti da un'operazione desiderosa o la memoria verrà persa.

L'oggetto Tensor non è più utilizzabile dopo la close ritorni.

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, usa invece uno tra bytesValue() , floatValue() , doubleValue() , intValue() , longValue() o booleanValue() . Il tipo e la forma di dst devono essere compatibili con il tensore. Ad 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).

public static Tensor <?> create (Object 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.

public static Tensor <T> create (Class <T> type, long [] shape, ByteBuffer data)

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 la specifica dell'API TensorFlow C.

Parametri
genere 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

public static Tensor <Double> create (long [] shape, DoubleBuffer data)

Crea un Double tensore con i dati dal buffer specificato.

Crea un tensore con la forma data copiando elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3), il buffer deve avere 6 elementi rimanenti, 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

public static Tensor <Long> create (long [] shape, LongBuffer data)

Crea un Long tensore con i dati dal buffer specificato.

Crea un tensore con la forma data copiando elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3), il buffer deve avere 6 elementi rimanenti, 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

public static Tensor <Integer> create (long [] shape, IntBuffer data)

Crea un tensore Integer con i dati dal buffer specificato.

Crea un tensore con la forma data copiando elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3), il buffer deve avere 6 elementi rimanenti, 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

public static Tensor <Float> create (long [] shape, FloatBuffer data)

Crea un Float Tensor con i dati dal buffer specificato.

Crea un tensore con la forma data copiando elementi dal buffer (a partire dalla sua posizione corrente) nel tensore. Ad esempio, se shape = {2,3 } (che rappresenta una matrice 2x3), il buffer deve avere 6 elementi rimanenti, 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

public static Tensor <T> create (Object obj, Class <T> type)

Crea un tensore da un oggetto Java.

Un Tensor è una matrice 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 argomento specifica come interpretare il primo argomento come un tipo TensorFlow. Ad 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[] . Ad 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
obj L'oggetto da convertire in un Tensor<T> . Si noti che se è compatibile con il tipo T non viene verificato dal sistema di tipo. Per la creazione di tensori indipendente dai tipi, utilizzare Tensors .
genere 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 archiviati in Tensor.

public double doubleValue ()

Restituisce il valore in un Double tensore scalare.

Lancia
IllegalArgumentException se il tensore non rappresenta un doppio scalare.

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

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

Parametri
genere qualsiasi matrice (non nulla) 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 un int scalare.

public long longValue ()

Restituisce il valore in un tensore Long scalare.

Lancia
IllegalArgumentException se il tensore non rappresenta uno scalare lungo.

public int numBytes ()

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

public int numDimensions ()

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.

pubblico lungo [] forma ()

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

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

public String 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 numElements() elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se non c'è spazio sufficiente nel buffer dato 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 numElements() elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se non c'è spazio sufficiente nel buffer dato 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 numElements() elementi numElements() nel buffer.

Parametri
dst il buffer di destinazione
Lancia
BufferOverflowException Se non c'è spazio sufficiente nel buffer dato 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 numBytes() byte nel buffer in ordine di byte nativo per i tipi primitivi.

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

public void writeTo (FloatBuffer dst)

Scrivi i dati di un tensore Float nel buffer specificato.

Copia numElements() elementi numElements() nel buffer.

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