| Bekannte direkte Unterklassen |
Stellt den Datenpuffer für die Eingabe oder Ausgabe eines Modells dar.
Public Methods
| Statisch TensorBuffer |
createDynamic(DataType dataType)
Erstellt eine leere dynamische
TensorBuffer mit der angegebenen DataType. |
| Statisch TensorBuffer |
createFixedSize(int[]-Form, DataType-Datentyp)
|
| Statisch TensorBuffer |
createFrom(TensorBuffer-Zwischenspeicher, DataType dataType)
Erstellt eine
TensorBuffer, bei der Daten aus einem anderen Deeplink mit der angegebenen DataType kopiert werden. |
| ByteBuffer |
getBuffer()
Gibt den Datenpuffer zurück.
|
| Abstrakt DataType |
getDataType()
Gibt den Datentyp dieses Zwischenspeichers zurück.
|
| int |
getFlatSize()
Ruft die flache Größe des Zwischenspeichers ab.
|
| Abstrakt float[] |
getFloatArray()
Gibt ein Float-Array der in diesem Zwischenspeicher gespeicherten Werte zurück.
|
| Abstrakt schweben |
getFloatValue(int absIndex)
Gibt einen Gleitkommawert bei einem bestimmten Index zurück.
|
| Abstrakt int[] |
getIntArray()
Gibt ein int-Array der in diesem Zwischenspeicher gespeicherten Werte zurück.
|
| Abstrakt Ganzzahl |
getIntValue(int absIndex)
Gibt einen Ganzzahlwert bei einem bestimmten Index zurück.
|
| int[] |
getShape()
Ruft die aktuelle Form ab.
|
| Abstrakt Ganzzahl |
getTypeSize()
Gibt die Anzahl der Byte eines einzelnen Elements im Array zurück.
|
| boolean |
isDynamic()
Gibt zurück, wenn
TensorBuffer eine dynamische Größe hat (kann beliebig geändert werden). |
| Abstrakt voidm |
loadArray(int[] src, int[] shape)
Lädt ein int-Array mit einer bestimmten Form in diesen Zwischenspeicher.
|
| Abstrakt voidm |
loadArray(float[] src, int[] shape)
Lädt ein Float-Array mit einer bestimmten Form in diesen Zwischenspeicher.
|
| voidm |
loadArray(float[] src)
Lädt ein Float-Array in diesen Zwischenspeicher.
|
| voidm |
loadArray(int[] src)
Lädt ein int-Array in diesen Zwischenspeicher.
|
| voidm | |
| voidm |
loadBuffer(ByteBuffer buffer, int[] shape)
Lädt einen Byte-Zwischenspeicher mit einer bestimmten Form in diesen
TensorBuffer. |
Übernommene Methoden
Public Methods
<ph type="x-smartling-placeholder"></ph> öffentlich Statisch TensorBuffer createDynamic (Datentyp DataType)
Erstellt eine leere dynamische TensorBuffer mit der angegebenen DataType. Die Form des
Erstellt am TensorBuffer ist {0}.
Dynamische TensorBuffers weisen Arbeitsspeicher neu zu, wenn Arrays oder Datenpuffer von verschiedene Puffergrößen. Beispiele:
// Creating a float dynamic TensorBuffer:
TensorBuffer tensorBuffer = TensorBuffer.createDynamic(DataType.FLOAT32);
// Loading a float array:
float[] arr1 = new float[] {1, 2, 3};
tensorBuffer.loadArray(arr, new int[] {arr1.length});
// loading another float array:
float[] arr2 = new float[] {1, 2, 3, 4, 5};
tensorBuffer.loadArray(arr, new int[] {arr2.length});
// loading a third float array with the same size as arr2, assuming shape doesn't change:
float[] arr3 = new float[] {5, 4, 3, 2, 1};
tensorBuffer.loadArray(arr);
// loading a forth float array with different size as arr3 and omitting the shape will result
// in error:
float[] arr4 = new float[] {3, 2, 1};
tensorBuffer.loadArray(arr); // Error: The size of byte buffer and the shape do not match.
Parameter
| dataType | Der Datentyp des zu erstellenden TensorBuffer-Elements.
|
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich Statisch TensorBuffer createFixedSize (int[] shape, DataType dataType)
Erstellt eine TensorBuffer mit den angegebenen shape und DataType. Hier sind einige
Beispiele:
// Creating a float TensorBuffer with shape {2, 3}:
int[] shape = new int[] {2, 3};
TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.FLOAT32);
// Creating an uint8 TensorBuffer of a scalar:
int[] shape = new int[] {};
TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
// Creating an empty uint8 TensorBuffer:
int[] shape = new int[] {0};
TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
Die Größe eines TensorBuffers mit fester Größe kann nach dem Erstellen nicht mehr geändert werden.
Parameter
| shape | Die Form des zu erstellenden TensorBuffer. |
|---|---|
| dataType | Der Datentyp des zu erstellenden TensorBuffer-Elements. |
Löst aus
| NullPointerException | wenn shape null ist. |
|---|---|
| IllegalArgumentException | shape nicht positive Elemente enthält.
|
<ph type="x-smartling-placeholder"></ph> öffentlich Statisch TensorBuffer createFrom (TensorBuffer-Zwischenspeicher, DataType-Datentyp)
Erstellt eine TensorBuffer, bei der Daten aus einem anderen Deeplink mit der angegebenen DataType kopiert werden.
Parameter
| Puffer | die Quelle TensorBuffer, aus der kopiert werden soll. |
|---|---|
| dataType | Die erwartete DataType von neu erstellten TensorBuffer. |
Löst aus
| NullPointerException | wenn buffer null ist.
|
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich ByteBuffer getBuffer ()
Gibt den Datenpuffer zurück.
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt DataType getDataType ()
Gibt den Datentyp dieses Zwischenspeichers zurück.
<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getFlatSize ()
Ruft die flache Größe des Zwischenspeichers ab.
Löst aus
| IllegalStateException | Die zugrunde liegenden Daten sind beschädigt. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt float[] getFloatArray ()
Gibt ein Float-Array der in diesem Zwischenspeicher gespeicherten Werte zurück. Wenn der Zwischenspeicher unterschiedlich ist
als Gleitkommazahl, werden die Werte in eine Gleitkommazahl konvertiert. Werte in TensorBufferUint8 werden beispielsweise von uint8 in float konvertiert.
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt schweben getFloatValue (int absIndex)
Gibt einen Gleitkommawert bei einem bestimmten Index zurück. Weist der Puffer andere Typen auf als der Puffertyp, wird der Parameter
wird in eine Gleitkommazahl konvertiert. Wenn beispielsweise ein Wert aus TensorBufferUint8 gelesen wird, wird der Wert zuerst als uint8 ausgelesen und dann aus
uint8 in "float".
For example, a TensorBuffer with shape {2, 3} that represents the following array,
[[0.0f, 1.0f, 2.0f], [3.0f, 4.0f, 5.0f]].
The fourth element (whose value is 3.0f) in the TensorBuffer can be retrieved by:
float v = tensorBuffer.getFloatValue(3);
Parameter
| absIndex | Der absolute Index des zu lesenden Werts. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt int[] getIntArray ()
Gibt ein int-Array der in diesem Zwischenspeicher gespeicherten Werte zurück. Wenn der Puffer einen anderen Typ hat
als int, werden die Werte in eine Ganzzahl konvertiert, was zu einem Genauigkeitsverlust führen kann. Beispiel:
wenn Sie ein Ganzzahl-Array von einer TensorBufferFloat mit den Werten {400.32f, 23.04f} erhalten, wird die Ausgabe
ist {400, 23}.
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt Ganzzahl getIntValue (int absIndex)
Gibt einen Ganzzahlwert bei einem bestimmten Index zurück. Wenn der Puffer einen anderen Typ hat als int, wird der Wert
wird in eine Ganzzahl umgewandelt. Wenn beispielsweise ein Wert aus TensorBufferFloat gelesen wird,
wird der Wert zuerst als Gleitkommazahl ausgelesen und dann von Gleitkomma zu Ganzzahl konvertiert. Verlust
möglicherweise nicht sehr präzise sind.
For example, a TensorBuffer with shape {2, 3} that represents the following array,
[[0.0f, 1.0f, 2.0f], [3.0f, 4.0f, 5.0f]].
The fourth element (whose value is 3.0f) in the TensorBuffer can be retrieved by:
int v = tensorBuffer.getIntValue(3);
Note that v is converted from 3.0f to 3 as a result of type conversion.
Parameter
| absIndex | Der absolute Index des zu lesenden Werts. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich int[] getShape ()
Ruft die aktuelle Form ab. (eine Kopie wird an diese Stelle zurückgegeben, um unerwartete Änderungen zu vermeiden.)
Löst aus
| IllegalStateException | Die zugrunde liegenden Daten sind beschädigt. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt Ganzzahl getTypeSize ()
Gibt die Anzahl der Byte eines einzelnen Elements im Array zurück. Ein Float-Zwischenspeicher wird und ein Byte-Zwischenspeicher 1 zurückgibt.
<ph type="x-smartling-placeholder"></ph> öffentlich Boolescher Wert isDynamic ()
Gibt zurück, wenn TensorBuffer eine dynamische Größe hat (kann beliebig geändert werden).
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt voidm loadArray (int[] src, int[] shape)
Lädt ein int-Array mit einer bestimmten Form in diesen Zwischenspeicher. Wenn der Zwischenspeicher unterschiedlich ist
als "int", werden die Werte vor dem Laden in den
Puffer ein, was zu Genauigkeitsverlusten führen kann. Wenn Sie beispielsweise ein int-Array mit den Werten {400,
-23} in einen TensorBufferUint8 umwandeln , werden die Werte auf [0, 255] gesetzt und dann
von {255, 0} in uint8 umgewandelt.
Parameter
| src | Das zu ladende Quellarray. |
|---|---|
| shape | Form des Tensors, den src repräsentiert. |
Löst aus
| NullPointerException | wenn src null ist. |
|---|---|
| NullPointerException | wenn shape null ist. |
| IllegalArgumentException | wenn die Größe des zu ladenden Arrays nicht mit der bestimmte Form angeben. |
<ph type="x-smartling-placeholder"></ph> öffentlich Abstrakt voidm loadArray (float[] src, int[] shape)
Lädt ein Float-Array mit einer bestimmten Form in diesen Zwischenspeicher. Wenn der Zwischenspeicher unterschiedlich ist
als Gleitkommazahl werden die Werte in den Typ des Zwischenspeichers konvertiert, bevor sie in den
Puffer ein, was zu Genauigkeitsverlusten führen kann. Wenn Sie beispielsweise ein Gleitkommazahl-Array in eine TensorBufferUint8 mit den Werten {400.32f, -23.04f} laden, werden die Werte auf [0, 255] gesetzt und
und dann von {255, 0} in uint8 umgewandelt werden.
Parameter
| src | Das zu ladende Quellarray. |
|---|---|
| shape | Form des Tensors, den src repräsentiert. |
Löst aus
| NullPointerException | wenn src null ist. |
|---|---|
| NullPointerException | wenn shape null ist. |
| IllegalArgumentException | wenn die Größe des zu ladenden Arrays nicht mit der bestimmte Form angeben. |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm loadArray (float[] src)
Lädt ein Float-Array in diesen Zwischenspeicher. Weist der Puffer andere Typen auf als der Puffertyp, wird der Parameter
werden vor dem Laden in den Zwischenspeicher in den Typ des Zwischenspeichers konvertiert.
möglicherweise nicht sehr präzise sind. Wenn beispielsweise ein Float-Array in ein TensorBufferUint8 geladen wird,
mit den Werten {400.32f, -23.04f} werden die Werte auf [0, 255] gesetzt und dann in
uint8 von {255, 0}.
Bei dieser Methode wird davon ausgegangen, dass die Form von src der Form dieses
TensorBuffer. Daher sollte die Größe von buffer (src.length) immer übereinstimmen
Die flache Größe dieses TensorBuffer, sowohl für feste Größe als auch für dynamische TensorBuffer. Verwende loadArray(float[], int[]), wenn src eine andere Form hat.
Parameter
| src | Das zu ladende Quellarray. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich voidm loadArray (int[] src)
Lädt ein int-Array in diesen Zwischenspeicher. Wenn der Puffer einen anderen Typ hat als int, werden die Werte
in den Zwischenspeichertyp konvertiert, bevor er in den Zwischenspeicher geladen wird, und der Verlust von
möglicherweise ungenau sind. Wenn Sie beispielsweise ein int-Array mit den Werten {400, -23} in ein TensorBufferUint8 laden, werden die Werte auf [0, 255] gesetzt und dann von
{255, 0}.
Bei dieser Methode wird davon ausgegangen, dass die Form von src der Form dieses
TensorBuffer. Daher sollte die Größe von buffer (src.length) immer übereinstimmen
Die flache Größe dieses TensorBuffer, sowohl für feste Größe als auch für dynamische TensorBuffer. Verwende loadArray(int[], int[]), wenn src eine andere Form hat.
Parameter
| src | Das zu ladende Quellarray. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich voidm loadBuffer (ByteBuffer-Zwischenspeicher)
Lädt einen Byte-Zwischenspeicher in diesen TensorBuffer. Die Puffergröße muss der flachen Größe von
dieses TensorBuffer.
Bei dieser Methode wird davon ausgegangen, dass die Form von buffer der Form dieses
TensorBuffer. Daher sollte die Größe von buffer (buffer.limit()) immer
entspricht der flachen Größe dieses TensorBuffer sowohl für feste Größe als auch für dynamische TensorBuffer. loadBuffer(ByteBuffer, int[]) verwenden, wenn buffer eine andere
Form.
Wichtig: Der geladene Zwischenspeicher ist eine Referenz. NICHT ÄNDERN. Wir erstellen hier keine Kopie Leistungsprobleme. Falls Änderungen erforderlich sind, erstellen Sie bitte eine Kopie.
Für eine optimale Leistung solltest du immer einen direkten ByteBuffer- oder ByteBuffer-Wert laden.
durch ein Array gestützt wird.
Ist buffer schreibgeschützt, wird eine Copy-on-Write-Strategie verwendet, um die Leistung zu steigern.
Parameter
| Puffer | Der zu ladende Byte-Zwischenspeicher. |
|---|
<ph type="x-smartling-placeholder"></ph> öffentlich voidm loadBuffer (ByteBuffer-Zwischenspeicher, int[] shape)
Lädt einen Byte-Zwischenspeicher mit einer bestimmten Form in diesen TensorBuffer.
Wichtig: Der geladene Zwischenspeicher ist eine Referenz. NICHT ÄNDERN. Wir erstellen hier keine Kopie Leistungsprobleme. Falls Änderungen erforderlich sind, erstellen Sie bitte eine Kopie.
Für eine optimale Leistung solltest du immer einen direkten ByteBuffer- oder ByteBuffer-Wert laden.
durch ein Array gestützt wird.
Parameter
| Puffer | Der zu ladende Byte-Zwischenspeicher. |
|---|---|
| shape |
Löst aus
| NullPointerException | wenn buffer null ist. |
|---|---|
| IllegalArgumentException | wenn die Größe von buffer und typeSize nicht
oder die Größe von buffer und flatSize nicht übereinstimmt.
|