Warnung: Diese API ist veraltet und wird in einer zukünftigen Version von TensorFlow entfernt, nachdem der Ersatz stabil ist.

Tensor

öffentliche Abschlussklasse Tensor

Ein statisch typisiertes mehrdimensionales Array, dessen Elemente von einem von T beschriebenen Typ sind.

Instanzen eines Tensors sind nicht threadsicher.

WARNUNG: Ressourcen, die vom Tensor-Objekt verbraucht werden, müssen explizit durch Aufrufen der Methode close() freigegeben werden, wenn das Objekt nicht mehr benötigt wird. Verwenden Sie beispielsweise einen Try-with-Resources-Block:

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

Öffentliche Methoden

Boolescher Wert
booleanValue ()
Gibt den Wert in einem skalaren Boolean Tensor zurück.
Byte[]
bytesValue ()
Gibt den Wert in einem skalaren String Tensor zurück.
Leere
close ()
Geben Sie die mit dem Tensor verknüpften Ressourcen frei.
<U> U.
copyTo (U dst)
Kopiert den Inhalt des Tensors nach dst und gibt dst .
statischer Tensor <?>
erstellen (Objekt obj)
Erstellt einen Tensor aus einem Objekt, dessen Klasse überprüft wird, um herauszufinden, wie der zugrunde liegende Datentyp aussehen soll.
statischer <T> Tensor <T>
create (Typ Klasse <T>, lange [] Form, ByteBuffer-Daten)
Erstellen Sie einen Tensor eines beliebigen Typs mit Daten aus dem angegebenen Puffer.
statischer Tensor <Double>
create (lange [] Form, DoubleBuffer-Daten)
Erstellen Sie einen Double mit Daten aus dem angegebenen Puffer.
statischer Tensor <Long>
create (lange [] Form, LongBuffer-Daten)
Erstellen Sie einen Long Tensor mit Daten aus dem angegebenen Puffer.
statischer Tensor <Integer>
create (lange [] Form, IntBuffer-Daten)
Erstellen Sie einen Integer Tensor mit Daten aus dem angegebenen Puffer.
statischer Tensor <Float>
create (lange [] Form, FloatBuffer-Daten)
Erstellen Sie einen Float Tensor mit Daten aus dem angegebenen Puffer.
statischer <T> Tensor <T>
create (Objekt obj, Typ Klasse <T>)
Erstellt einen Tensor aus einem Java-Objekt.
Datentyp
dataType ()
Gibt den DataType der im Tensor gespeicherten Elemente zurück.
doppelt
doubleValue ()
Gibt den Wert in einem skalaren Double .
<U> Tensor <U>
erwarten (Klasse <U> Typ)
Gibt dieses Tensor-Objekt vom Typ Tensor<U> .
schweben
floatValue ()
Gibt den Wert in einem skalaren Float Tensor zurück.
int
intValue ()
Gibt den Wert in einem skalaren Integer Tensor zurück.
lange
longValue ()
Gibt den Wert in einem skalaren Long Tensor zurück.
int
numBytes ()
Gibt die Größe der Tensordaten in Byte zurück.
int
numDimensions ()
Gibt die Anzahl der Dimensionen (manchmal auch als Rang bezeichnet ) des Tensors zurück.
int
numElements ()
Gibt die Anzahl der Elemente in einer abgeflachten (1-D) Ansicht des Tensors zurück.
lange[]
Form ()
Gibt die Form des Tensors zurück, dh die Größen jeder Dimension.
String
toString ()
Gibt eine Zeichenfolge zurück, die den Typ und die Form des Tensors beschreibt.
Leere
writeTo (LongBuffer dst)
Schreiben Sie die Daten eines Long Tensors in den angegebenen Puffer.
Leere
writeTo (DoubleBuffer dst)
Schreiben Sie die Daten eines Double in den angegebenen Puffer.
Leere
writeTo (IntBuffer dst)
Schreiben Sie die Daten eines Integer Tensors in den angegebenen Puffer.
Leere
writeTo (ByteBuffer dst)
Schreiben Sie die Tensordaten in den angegebenen Puffer.
Leere
writeTo (FloatBuffer dst)
Schreiben Sie die Daten eines Float Tensors in den angegebenen Puffer.

Vererbte Methoden

Öffentliche Methoden

public boolean booleanValue ()

Gibt den Wert in einem skalaren Boolean Tensor zurück.

Würfe
IllegalArgumentException wenn der Tensor keinen booleschen Skalar darstellt.

öffentliches Byte [] bytesValue ()

Gibt den Wert in einem skalaren String Tensor zurück.

Würfe
IllegalArgumentException wenn der Tensor keinen booleschen Skalar darstellt.

public void close ()

Geben Sie die mit dem Tensor verknüpften Ressourcen frei.

WARNUNG: Dies muss für alle Tensoren aufgerufen werden, die nicht durch eine eifrige Operation erzeugt wurden, da sonst Speicher verloren geht.

Das Tensor-Objekt kann nach close Rückgabe nicht mehr verwendet werden.

public U copyTo (U dst)

Kopiert den Inhalt des Tensors nach dst und gibt dst .

Bei nicht skalaren Tensoren kopiert diese Methode den Inhalt des zugrunde liegenden Tensors in ein Java-Array. Verwenden Sie für skalare Tensoren bytesValue() eines von bytesValue() , floatValue() , doubleValue() , intValue() , longValue() oder booleanValue() . Die Art und Form von dst muss mit dem Tensor kompatibel sein. Zum Beispiel:

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);
 }
 }

Würfe
IllegalArgumentException wenn der Tensor ein Skalar ist oder wenn dst nicht mit dem Tensor kompatibel ist (z. B. nicht übereinstimmende Datentypen oder Formen).

öffentlicher statischer Tensor <?> create (Object obj)

Erstellt einen Tensor aus einem Objekt, dessen Klasse überprüft wird, um herauszufinden, wie der zugrunde liegende Datentyp aussehen soll.

Würfe
IllegalArgumentException wenn obj nicht mit dem System vom Typ TensorFlow kompatibel ist.

öffentlicher statischer Tensor <T> erstellen (Typ Klasse <T>, lange [] Form, ByteBuffer-Daten)

Erstellen Sie einen Tensor eines beliebigen Typs mit Daten aus dem angegebenen Puffer.

Erstellt einen Tensor mit der bereitgestellten Form eines beliebigen Typs, bei dem die Tensordaten gemäß der Spezifikation der TensorFlow C-API in data codiert wurden.

Parameter
Art Der Tensorelementtyp, der als Klassenobjekt dargestellt wird.
gestalten die Tensorform.
Daten ein Puffer, der die Tensordaten enthält.
Würfe
IllegalArgumentException Wenn der Tensordatentyp oder die Tensorform nicht mit dem Puffer kompatibel ist

öffentlicher statischer Tensor <Double> create (lange [] Form, DoubleBuffer-Daten)

Erstellen Sie einen Double mit Daten aus dem angegebenen Puffer.

Erstellt einen Tensor mit der angegebenen Form, indem Elemente aus dem Puffer (beginnend mit seiner aktuellen Position) in den Tensor kopiert werden. Wenn beispielsweise shape = {2,3 } (was eine 2x3-Matrix darstellt), muss der Puffer noch 6 Elemente enthalten, die von dieser Methode verbraucht werden.

Parameter
gestalten die Tensorform.
Daten ein Puffer, der die Tensordaten enthält.
Würfe
IllegalArgumentException Wenn die Tensorform nicht mit dem Puffer kompatibel ist

öffentlicher statischer Tensor <Long> erstellen (lange [] Form, LongBuffer-Daten)

Erstellen Sie einen Long Tensor mit Daten aus dem angegebenen Puffer.

Erstellt einen Tensor mit der angegebenen Form, indem Elemente aus dem Puffer (beginnend mit seiner aktuellen Position) in den Tensor kopiert werden. Wenn beispielsweise shape = {2,3 } (was eine 2x3-Matrix darstellt), muss der Puffer noch 6 Elemente enthalten, die von dieser Methode verbraucht werden.

Parameter
gestalten die Tensorform.
Daten ein Puffer, der die Tensordaten enthält.
Würfe
IllegalArgumentException Wenn die Tensorform nicht mit dem Puffer kompatibel ist

public static Tensor <Integer> create (lange [] Form, IntBuffer-Daten)

Erstellen Sie einen Integer Tensor mit Daten aus dem angegebenen Puffer.

Erstellt einen Tensor mit der angegebenen Form, indem Elemente aus dem Puffer (beginnend mit seiner aktuellen Position) in den Tensor kopiert werden. Wenn beispielsweise shape = {2,3 } (was eine 2x3-Matrix darstellt), muss der Puffer noch 6 Elemente enthalten, die von dieser Methode verbraucht werden.

Parameter
gestalten die Tensorform.
Daten ein Puffer, der die Tensordaten enthält.
Würfe
IllegalArgumentException Wenn die Tensorform nicht mit dem Puffer kompatibel ist

public static Tensor <Float> create (lange [] Form, FloatBuffer-Daten)

Erstellen Sie einen Float Tensor mit Daten aus dem angegebenen Puffer.

Erstellt einen Tensor mit der angegebenen Form, indem Elemente aus dem Puffer (beginnend mit seiner aktuellen Position) in den Tensor kopiert werden. Wenn beispielsweise shape = {2,3 } (was eine 2x3-Matrix darstellt), muss der Puffer noch 6 Elemente enthalten, die von dieser Methode verbraucht werden.

Parameter
gestalten die Tensorform.
Daten ein Puffer, der die Tensordaten enthält.
Würfe
IllegalArgumentException Wenn die Tensorform nicht mit dem Puffer kompatibel ist

public static Tensor <T> create (Objekt obj, Typ Class <T>)

Erstellt einen Tensor aus einem Java-Objekt.

Ein Tensor ist ein mehrdimensionales Array von Elementen eines begrenzten Satzes von Typen. Nicht alle Java-Objekte können in einen Tensor konvertiert werden. Insbesondere muss das Argument obj entweder ein obj (float, double, int, long, boolean, byte) oder ein mehrdimensionales Array eines dieser Grundelemente sein. Das Argument type gibt an, wie das erste Argument als TensorFlow Art zu interpretieren. Beispiel:

// 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 typisierte Tensoren sind mehrdimensionale Arrays beliebiger Bytesequenzen und können daher aus Arrays von byte[] -Elementen initialisiert werden. Zum Beispiel:
// 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);
 }

Parameter
obj Das Objekt, das in einen Tensor<T> konvertiert werden soll. Beachten Sie, dass das Typsystem nicht prüft, ob es mit dem Typ T kompatibel ist. Verwenden Sie zur typsicheren Erstellung von Tensoren Tensors .
Art Das Klassenobjekt, das den Typ T darstellt.
Würfe
IllegalArgumentException wenn obj nicht mit dem System vom Typ TensorFlow kompatibel ist.

public DataType dataType ()

Gibt den DataType der im Tensor gespeicherten Elemente zurück.

public double doubleValue ()

Gibt den Wert in einem skalaren Double .

Würfe
IllegalArgumentException wenn der Tensor keinen doppelten Skalar darstellt.

öffentlicher Tensor <U> erwarten (Typ Klasse <U>)

Gibt dieses Tensor-Objekt vom Typ Tensor<U> . Diese Methode ist nützlich, wenn ein Wert vom Typ Tensor<?> .

Parameter
Art Beliebiges (Nicht-Null-) Array des richtigen Typs.
Würfe
IllegalArgumentException wenn der tatsächliche Datentyp dieses Objekts nicht mit dem Typ U übereinstimmt.

public float floatValue ()

Gibt den Wert in einem skalaren Float Tensor zurück.

Würfe
IllegalArgumentException wenn der Tensor keinen Float-Skalar darstellt.

public int intValue ()

Gibt den Wert in einem skalaren Integer Tensor zurück.

Würfe
IllegalArgumentException wenn der Tensor keinen int-Skalar darstellt.

public long longValue ()

Gibt den Wert in einem skalaren Long Tensor zurück.

Würfe
IllegalArgumentException wenn der Tensor keinen langen Skalar darstellt.

public int numBytes ()

Gibt die Größe der Tensordaten in Byte zurück.

public int numDimensions ()

Gibt die Anzahl der Dimensionen (manchmal auch als Rang bezeichnet ) des Tensors zurück.

Wird 0 für einen Skalar, 1 für einen Vektor, 2 für eine Matrix, 3 für einen dreidimensionalen Tensor usw. sein.

public int numElements ()

Gibt die Anzahl der Elemente in einer abgeflachten (1-D) Ansicht des Tensors zurück.

öffentliche lange [] Form ()

Gibt die Form des Tensors zurück, dh die Größen jeder Dimension.

Kehrt zurück
  • ein Array, bei dem das i-te Element die Größe der i-ten Dimension des Tensors ist.

public String toString ()

Gibt eine Zeichenfolge zurück, die den Typ und die Form des Tensors beschreibt.

public void writeTo (LongBuffer dst)

Schreiben Sie die Daten eines Long Tensors in den angegebenen Puffer.

Kopiert numElements() -Elemente in den Puffer.

Parameter
dst der Zielpuffer
Würfe
BufferOverflowException Wenn im angegebenen Puffer nicht genügend Platz für die Daten in diesem Tensor vorhanden ist
IllegalArgumentException Wenn der Tensordatentyp nicht Long

public void writeTo (DoubleBuffer dst)

Schreiben Sie die Daten eines Double in den angegebenen Puffer.

Kopiert numElements() -Elemente in den Puffer.

Parameter
dst der Zielpuffer
Würfe
BufferOverflowException Wenn im angegebenen Puffer nicht genügend Platz für die Daten in diesem Tensor vorhanden ist
IllegalArgumentException Wenn der Tensordatentyp nicht Double

public void writeTo (IntBuffer dst)

Schreiben Sie die Daten eines Integer Tensors in den angegebenen Puffer.

Kopiert numElements() -Elemente in den Puffer.

Parameter
dst der Zielpuffer
Würfe
BufferOverflowException Wenn im angegebenen Puffer nicht genügend Platz für die Daten in diesem Tensor vorhanden ist
IllegalArgumentException Wenn der Tensordatentyp nicht Integer

public void writeTo (ByteBuffer dst)

Schreiben Sie die Tensordaten in den angegebenen Puffer.

Kopiert numBytes() Bytes in nativer Bytereihenfolge für primitive Typen in den Puffer.

Parameter
dst der Zielpuffer
Würfe
BufferOverflowException Wenn im angegebenen Puffer nicht genügend Platz für die Daten in diesem Tensor vorhanden ist

public void writeTo (FloatBuffer dst)

Schreiben Sie die Daten eines Float Tensors in den angegebenen Puffer.

Kopiert numElements() -Elemente in den Puffer.

Parameter
dst der Zielpuffer
Würfe
BufferOverflowException Wenn im angegebenen Puffer nicht genügend Platz für die Daten in diesem Tensor vorhanden ist
IllegalArgumentException Wenn der Tensordatentyp nicht Float