Tensor

Public Interface Tensor

Ein typisiertes mehrdimensionales Array, das in TensorFlow Lite verwendet wird.

Der native Handle eines Tensor wird von NativeInterpreterWrapper verwaltet und muss nicht vom Client geschlossen werden. Sobald NativeInterpreterWrapper jedoch geschlossen wurde, wird der Tensor-Handle ungültig.

Verschachtelte Klassen

Klasse Tensor.QuantizationParams Quantisierungsparameter, die der Tabelle QuantizationParameters in der Schemadatei des TFLite-Modells  entsprechen.

Public Methods

Abstrakt ByteBuffer
asReadOnlyBuffer()
Gibt eine schreibgeschützte ByteBuffer-Ansicht der Tensordaten zurück.
Zusammenfassung DataType
dataType()
Gibt die DataType der im Tensor gespeicherten Elemente zurück.
Abstrakt Int
numBytes()
Gibt die Größe der Tensordaten in Byte zurück.
Abstrakt Int
numDimensions()
Gibt die Anzahl der Dimensionen (manchmal auch als Rang bezeichnet) des Tensors zurück.
Abstrakt Int
numElements()
Gibt die Anzahl der Elemente in einer vereinfachten Ansicht (1-D) des Tensors zurück.
Abstrakt Tensor.QuantizationParams
quantizationParams()
Gibt die Quantisierungsparameter des Tensors im zugehörigen Interpreter zurück.
abstrakt int[]
shape()
Gibt die Form des Tensors zurück, d.h. die Größen der einzelnen Dimensionen.
abstrakt int[]
shapeSignature()
Gibt die ursprüngliche Form des Tensors zurück, d.h. die Größen jeder Dimension vor der Größenanpassung.

Public Methods

public abstrakt ByteBuffer asReadOnlyBuffer ()

Gibt eine schreibgeschützte ByteBuffer-Ansicht der Tensordaten zurück.

Im Allgemeinen ist diese Methode am nützlichsten, um eine schreibgeschützte Ansicht der Ausgabetensordaten *nach* der Inferenz (z.B. über InterpreterApi.run(Object, Object)) zu erhalten. Insbesondere haben einige Diagramme dynamisch geformte Ausgaben, was das Einspeisen eines vordefinierten Ausgabepuffers an den Interpreter umständlich machen kann. Verwendungsbeispiel:

 interpreter.run(input, null);
 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 // Copy or read from outputBuffer.

WARNUNG: Wenn der Tensor noch nicht zugewiesen wurde, z.B. vor der Inferenz, ist das Ergebnis nicht definiert. Beachten Sie, dass sich der zugrunde liegende Tensorpointer auch ändern kann, wenn der Tensor auf irgendeine Weise entwertet wird (z. B. wenn eine Inferenz ausgeführt oder die Größe des Graphen geändert wird). Daher ist es *nicht* sicher, einen Verweis auf den zurückgegebenen Zwischenspeicher über die sofortige Verwendung hinaus direkt nach der Inferenz zu speichern. Beispiel für eine *schlechte* Nutzung:

 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 interpreter.run(input, null);
 // Copy or read from outputBuffer (which may now be invalid).

Löst aus
IllegalArgumentException wenn die Tensordaten nicht zugewiesen wurden.

public abstrakt DataType dataType ()

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

public abstrakt int numBytes ()

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

public abstrakt int numDimensions ()

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

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

public abstrakt int numElements ()

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

öffentlich Abstrakt Tensor.QuantizationParams quantizationParams ()

Gibt die Quantisierungsparameter des Tensors im zugehörigen Interpreter zurück.

Nur quantisierte Tensoren haben eine gültige QuantizationParameters. Bei nicht quantisierten Tensoren sind die Werte von Maßstab und nullpunkt beide 0.

public abstrakt int[] shape ()

Gibt die Form des Tensors zurück, d.h. die Größen der einzelnen Dimensionen.

Rückgabe
  • Array, bei dem das i-te Element die Größe der i-ten Dimension des Tensors ist.

public abstrakt int[] shapeSignature ()

Gibt die ursprüngliche Form des Tensors zurück, d.h. die Größen jeder Dimension vor der Größenanpassung. Unbekannte Dimensionen werden mit dem Wert „-1“ gekennzeichnet.

Rückgabe
  • Array, bei dem das i-te Element die Größe der i-ten Dimension des Tensors ist.