TensorLabel

öffentliche Klasse TensorLabel

TensorLabel ist ein Hilfs-Wrapper für TensorBuffers mit aussagekräftigen Labels auf einer Achse.

Ein Bildklassifizierungsmodell kann beispielsweise einen Ausgabetensor mit der Form {1, 10} haben, wobei 1 die Batchgröße und 10 die Anzahl der Kategorien ist. Auf der zweiten Achse könnten wir beschriften Sie jeden Untertensor mit dem Namen oder der Beschreibung der entsprechenden Kategorie. TensorLabel könnte dabei helfen, den einfachen Tensor in TensorBuffer in eine Karte von vordefinierte Labels für Subtensoren. Wenn in diesem Fall zehn Labels für die zweite Achse bereitgestellt werden, könnte TensorLabel den ursprünglichen Tensor {1, 10} in eine Karte mit 10 Elementen konvertieren, von der jeder Wert ist Tensor in Form {} (skalar). Verwendungsbeispiel:

   TensorBuffer outputTensor = ...;
   List<String> labels = FileUtil.loadLabels(context, labelFilePath);
   // labels the first axis with size greater than one
   TensorLabel labeled = new TensorLabel(labels, outputTensor);
   // If each sub-tensor has effectively size 1, we can directly get a float value
   Map<String, Float> probabilities = labeled.getMapWithFloatValue();
   // Or get sub-tensors, when each sub-tensor has elements more than 1
   Map<String, TensorBuffer> subTensors = labeled.getMapWithTensorBuffer();
 

Hinweis: Derzeit unterstützen wir nur die Umwandlung von Tensor in Karte für das erste Label mit einer höheren Größe als 1.

Public Constructors

TensorLabel(Map<IntegerList<String>> axisLabels, TensorBuffer tensorBuffer)
Erstellt ein TensorLabel-Objekt, das auf den Achsen mehrdimensionaler Tensoren Labels hinzufügen kann.
TensorLabel(List<String> axisLabels, TensorBuffer tensorBuffer)
Erstellt ein TensorLabel-Objekt, das eine Achse mehrdimensionaler Tensoren mit Labels versehen kann.

Public Methods

List<Category>
getCategoryList()
Ruft eine Liste von Category aus dem TensorLabel-Objekt ab.
Map<StringGleitkomma>
getMapWithFloatValue()
Ruft eine Karte ab, die ein schwebendes Label zuordnet.
Map<StringTensorBuffer>
getMapWithTensorBuffer()
Ruft die Karte mit einem Labelpaar und dem entsprechenden TensorBuffer ab.

Übernommene Methoden

Public Constructors

<ph type="x-smartling-placeholder"></ph> öffentlich TensorLabel (Map<IntegerList<String>> axisLabels, TensorBuffer tensorBuffer)

Erstellt ein TensorLabel-Objekt, das die Achsen mehrdimensionaler Tensoren mit Labels versehen kann.

Parameter
axisLabels Eine Karte, deren Schlüssel die Achsen-ID (beginnend mit 0) ist und deren Wert dem entsprechenden Wert entspricht Labels. Hinweis: Die Größe der Labels sollte der Größe des Tensors auf dieser Achse entsprechen.
tensorBuffer Der TensorBuffer, der mit einem Label versehen werden soll.
Löst aus
NullPointerException axisLabels oder tensorBuffer ist null oder eine beliebige Der Wert in axisLabels ist null.
IllegalArgumentException wenn ein Schlüssel in axisLabels außerhalb des zulässigen Bereichs liegt (im Vergleich zu die Form von tensorBuffer oder ein Wert (Labels) hat mit dem tensorBuffer für die angegebene Dimension eine andere Größe.

<ph type="x-smartling-placeholder"></ph> öffentlich TensorLabel (List<String> axisLabels, TensorBuffer tensorBuffer)

Erstellt ein TensorLabel-Objekt, das eine Achse mehrdimensionaler Tensoren mit Labels versehen kann.

Hinweis: Die Beschriftungen werden auf die erste Achse angewendet, deren Größe größer als 1 ist. Wenn beispielsweise die Form des Tensors [1, 10, 3] ist, werden die Beschriftungen auf Achse 1 angewendet (ID beginnend von 0) und axisLabels sollte ebenfalls 10 sein.

Parameter
axisLabels Eine Liste von Labels, deren Größe mit der Größe des Tensors übereinstimmen sollte der Achse, die Sie beschriften möchten.
tensorBuffer Der TensorBuffer, der mit einem Label versehen werden soll.

Public Methods

<ph type="x-smartling-placeholder"></ph> öffentlich List<Category> getCategoryList ()

Ruft eine Liste von Category aus dem TensorLabel-Objekt ab.

Die Achse des Labels sollte effektiv die letzte Achse sein (d. h. jeder Untertensor die durch diese Achse angegeben wird, die flache Größe 1 haben sollte, sodass jeder beschriftete Untertensor in einen Gleitkommawert umgewandelt. Beispiel: TensorLabel mit der Form {2, 5, 3} und Achse 2 gültig ist. Wenn die Achse 1 oder 0 ist, kann sie nicht in ein Category konvertiert werden.

getMapWithFloatValue() ist eine Alternative, gibt jedoch einen Map-Wert als für das Ergebnis.

Löst aus
IllegalStateException wenn die Größe eines Untertensors für jedes Label nicht 1 ist.

<ph type="x-smartling-placeholder"></ph> öffentlich Map<StringGleitkomma> getMapWithFloatValue ()

Ruft eine Karte ab, die ein schwebendes Label zuordnet. Zuordnung nur auf der ersten Achse zulassen, wenn sie größer ist als 1 und die Achse sollte die letzte Achse sein (d. h. jeder Subtensor durch diese Achse angegeben wird, sollte die flache Größe 1 haben).

getCategoryList() ist eine alternative API zum Abrufen des Ergebnisses.

Löst aus
IllegalStateException wenn die Größe eines Untertensors für jedes Label nicht 1 ist.

<ph type="x-smartling-placeholder"></ph> öffentlich Map<StringTensorBuffer> getMapWithTensorBuffer ()

Ruft die Karte mit einem Labelpaar und dem entsprechenden TensorBuffer ab. Nur die auf der ersten Achse, deren Größe derzeit größer als 1 ist.