Treiberklasse zum Steuern von Modellinferenzen mit TensorFlow Lite.
Hinweis: Falls Sie keinen Zugriff auf die experimentellen Funktionen API-Funktionen unten, bitte verwenden InterpreterApi und InterpreterFactory verwenden, anstatt Interpreter direkt zu verwenden.
Ein Interpreter
kapselt ein vortrainiertes TensorFlow Lite-Modell, in dem Vorgänge
für Modellinferenzen ausgeführt werden.
Wenn ein Modell beispielsweise nur eine Eingabe annimmt und nur eine Ausgabe zurückgibt:
try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
interpreter.run(input, output);
}
Wenn ein Modell mehrere Eingaben oder Ausgaben annimmt:
Object[] inputs = {input0, input1, ...};
Map<Integer, Object> map_of_indices_to_outputs = new HashMap<>();
FloatBuffer ith_output = FloatBuffer.allocateDirect(3 * 2 * 4); // Float tensor, shape 3x2x4.
ith_output.order(ByteOrder.nativeOrder());
map_of_indices_to_outputs.put(i, ith_output);
try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
interpreter.runForMultipleInputsOutputs(inputs, map_of_indices_to_outputs);
}
Wenn ein Modell Stringtensoren annimmt oder erzeugt:
String[] input = {"foo", "bar"}; // Input tensor shape is [2].
String[][] output = new String[3][2]; // Output tensor shape is [3, 2].
try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
interpreter.runForMultipleInputsOutputs(input, output);
}
Beachten Sie, dass es einen Unterschied zwischen Form [] und Form[1] gibt. Für skalaren String-Tensor Ausgaben:
String[] input = {"foo"}; // Input tensor shape is [1].
ByteBuffer outputBuffer = ByteBuffer.allocate(OUTPUT_BYTES_SIZE); // Output tensor shape is [].
try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
interpreter.runForMultipleInputsOutputs(input, outputBuffer);
}
byte[] outputBytes = new byte[outputBuffer.remaining()];
outputBuffer.get(outputBytes);
// Below, the `charset` can be StandardCharsets.UTF_8.
String output = new String(outputBytes, charset);
Die Reihenfolge der Ein- und Ausgaben wird beim Konvertieren eines TensorFlow-Modells in TensorFlowLite festgelegt. mit Toco-Modell erstellen, sowie die Standardformen der Eingaben.
Wenn Eingaben als (multidimensionale) Arrays bereitgestellt werden, ergeben sich für die entsprechenden Eingabetensoren
implizit an die Form dieses Arrays angepasst werden. Wenn Eingaben als Buffer
angegeben werden
wird keine implizite Größenänderung durchgeführt. Der Aufrufer muss sicherstellen, dass die Bytegröße Buffer
entweder mit dem des entsprechenden Tensors übereinstimmt oder dass die Größe des Tensors zuerst über resizeInput(int, int[])
geändert wird. Informationen zu Form und Typ von Tensor können über die Klasse Tensor
abgerufen werden, die über getInputTensor(int)
und getOutputTensor(int)
verfügbar ist.
WARNUNG:Interpreter
-Instanzen sind nicht threadsicher. Ein Interpreter
besitzt Ressourcen, die durch Aufrufen von close()
explizit freigegeben werden müssen.
Die TFLite-Bibliothek basiert auf NDK API 19. Es kann für Android-API-Levels unter 19 funktionieren, aber nicht garantiert.
Verschachtelte Klassen
Klasse | Interpreter.Options | Eine Optionsklasse zur Steuerung des Laufzeitinterpreterverhaltens. |
Public Constructors
Interpreter(File modelFile, Interpreter.Options-Optionen)
Initialisiert ein
Interpreter und gibt Optionen zum Anpassen des Dolmetscherverhaltens an. |
|
Interpreter(ByteBuffer byteBuffer)
Initialisiert ein
Interpreter mit einem ByteBuffer einer Modelldatei. |
|
Interpreter(ByteBuffer byteBuffer, Interpreter.Options-Optionen)
Initialisiert ein
Interpreter mit einer ByteBuffer einer Modelldatei und einer Reihe von
benutzerdefiniert Interpreter.Options . |
Public Methods
voidm |
allocateTensors()
Aktualisiert bei Bedarf explizit Zuweisungen für alle Tensoren.
|
voidm |
close()
Geben Sie Ressourcen frei, die mit der Instanz
InterpreterApi verknüpft sind. |
int | |
Tensor |
getInputTensor(int inputIndex)
Ruft den Tensor ab, der dem bereitgestellten Eingabeindex zugeordnet ist.
|
int |
getInputTensorCount()
Ruft die Anzahl der Eingabetensoren ab.
|
Tensor |
getInputTensorFromSignature(String inputName, String signatureKey)
Ruft den Tensor ab, der dem angegebenen Eingabenamen und dem Namen der Signaturmethode zugeordnet ist.
|
Lang |
getLastNativeInferenceDurationNanoseconds()
Gibt das Timing der nativen Inferenz zurück.
|
int |
getOutputIndex(String opName)
Ruft den Index einer Ausgabe anhand des Vorgangsnamens der Ausgabe ab.
|
Tensor |
getOutputTensor(int-outputIndex)
Ruft den Tensor ab, der dem bereitgestellten Ausgabeindex zugeordnet ist.
|
int |
getOutputTensorCount()
Ruft die Anzahl der Tensoren für die Ausgabe ab.
|
Tensor |
getOutputTensorFromSignature(String outputName, String signatureKey)
Ruft den Tensor ab, der dem bereitgestellten Ausgabenamen in einer bestimmten Signaturmethode zugeordnet ist.
|
String[] |
getSignatureInputs(String signatureKey)
Ruft die Liste der SignatureDefs-Eingaben für die Methode
signatureKey ab. |
String[] |
getSignatureKeys()
Ruft die Liste der exportierten SignatureDef-Methodennamen ab, die im Modell verfügbar sind.
|
String[] |
getSignatureOutputs(String signatureKey)
Ruft die Liste der SignatureDefs-Ausgaben für die Methode
signatureKey ab. |
voidm |
resetVariableTensors()
Erweitert: Setzt alle Variablentensoren auf den Standardwert zurück.
|
voidm |
resizeInput(int idx, int[] dims, boolean strict)
Ändert die Größe der idx-ten Eingabe des nativen Modells an die angegebenen Dimmungen.
|
voidm |
resizeInput(int idx, int[] dimme)
Ändert die Größe der idx-ten Eingabe des nativen Modells an die angegebenen Dimmungen.
|
voidm |
run(Objekteingabe, Objektausgabe)
Führt eine Modellinferenz aus, wenn das Modell nur eine Eingabe annimmt und nur eine Ausgabe bereitstellt.
|
voidm |
runForMultipleInputsOutputs(Object[]-Eingaben, Map<Integer, Object>-Ausgaben)
Führt eine Modellinferenz aus, wenn das Modell mehrere Eingaben annimmt oder mehrere Ausgaben zurückgibt.
|
voidm |
runSignature(Map<String, Object>-Eingaben, Map<String, Object>-Ausgaben)
Wie bei
runSignature(Map, Map, String) , es muss jedoch kein signatureKey übergeben werden,
vorausgesetzt, das Modell hat eine SignatureDef. |
voidm | |
voidm |
setCancelled(Boolescher Wert abgebrochen)
Erweitert: Unterbricht die Inferenz während eines Anrufs an
run(Object, Object) . |
Übernommene Methoden
Public Constructors
<ph type="x-smartling-placeholder"></ph> öffentlich Dolmetscher (Datei modelFile)
Initialisiert ein Interpreter
.
Parameter
modelFile | Eine Datei eines vortrainierten TF Lite-Modells. |
---|
Löst aus
IllegalArgumentException | Wenn modelFile keinen gültigen TensorFlow Lite-Code codiert
modellieren.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Dolmetscher (File modelFile, Interpreter.Options-Optionen)
Initialisiert ein Interpreter
und gibt Optionen zum Anpassen des Dolmetscherverhaltens an.
Parameter
modelFile | Datei eines vortrainierten TF Lite-Modells |
---|---|
Optionen | Optionen zur Anpassung des Dolmetscherverhaltens |
Löst aus
IllegalArgumentException | Wenn modelFile keinen gültigen TensorFlow Lite-Code codiert
modellieren.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Dolmetscher (ByteBuffer byteBuffer)
Initialisiert ein Interpreter
mit einem ByteBuffer
einer Modelldatei.
Der ByteBuffer sollte nach der Konstruktion einer Interpreter
nicht mehr geändert werden. Die
ByteBuffer
kann entweder eine MappedByteBuffer
sein, die eine Modelldatei im Arbeitsspeicher abbildet, oder
direktes ByteBuffer
von "nativeOrder()", das den Byteinhalt eines Modells enthält.
Parameter
byteBuffer |
---|
Löst aus
IllegalArgumentException | byteBuffer ist weder ein MappedByteBuffer noch ein
direkt ByteBuffer von nativeOrder.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Dolmetscher (ByteBuffer byteBuffer, Interpreter.Options Optionen)
Initialisiert ein Interpreter
mit einer ByteBuffer
einer Modelldatei und einer Reihe von
benutzerdefiniert Interpreter.Options
.
Die ByteBuffer
sollte nach dem Erstellen einer Interpreter
nicht mehr geändert werden. Die ByteBuffer
kann entweder ein MappedByteBuffer
sein, der eine Speicherzuordnung durchführt.
eine Modelldatei oder einen direkten ByteBuffer
von „nativeOrder()“ mit dem Inhalt der Byte
eines Modells.
Parameter
byteBuffer | |
---|---|
Optionen |
Löst aus
IllegalArgumentException | byteBuffer ist weder ein MappedByteBuffer noch ein
direkt ByteBuffer von nativeOrder.
|
---|
Public Methods
<ph type="x-smartling-placeholder"></ph> öffentlich voidm allocateTensors ()
Aktualisiert bei Bedarf explizit Zuweisungen für alle Tensoren.
Dadurch werden Formen und Arbeitsspeicherzuweisungen für abhängige Tensoren mithilfe der Eingabe Tensorform(en) wie angegeben.
Hinweis: Dieser Aufruf ist *reine optional*. Die Tensor-Zuweisung erfolgt automatisch während wenn die Größe von Eingabetensoren geändert wurde. Dieser Aufruf ist sehr nützlich, um die Formen für Ausgabetensoren, bevor Sie den Graphen ausführen. Beispiel:
interpreter.resizeInput(0, new int[]{1, 4, 4, 3}));
interpreter.allocateTensors();
FloatBuffer input = FloatBuffer.allocate(interpreter.getInputTensor(0).numElements());
// Populate inputs...
FloatBuffer output = FloatBuffer.allocate(interpreter.getOutputTensor(0).numElements());
interpreter.run(input, output)
// Process outputs...
Hinweis: Einige Grafiken haben dynamisch geformte Ausgaben. In diesem Fall ist die Ausgabeform möglicherweise nicht bis die Inferenz ausgeführt wird.
<ph type="x-smartling-placeholder"></ph> öffentlich voidm schließen ()
Geben Sie Ressourcen frei, die mit der Instanz InterpreterApi
verknüpft sind.
<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getInputIndex (String opName)
Ruft den Index einer Eingabe anhand des Vorgangsnamens der Eingabe ab.
Parameter
opName |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Tensor getInputTensor (int inputIndex)
Ruft den Tensor ab, der dem bereitgestellten Eingabeindex zugeordnet ist.
Parameter
inputIndex |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getInputTensorCount ()
Ruft die Anzahl der Eingabetensoren ab.
<ph type="x-smartling-placeholder"></ph> öffentlich Tensor getInputTensorFromSignature (String inputName, String signatureKey)
Ruft den Tensor ab, der dem angegebenen Eingabenamen und dem Namen der Signaturmethode zugeordnet ist.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
inputName | Geben Sie den Namen in die Signatur ein. |
---|---|
signatureKey | Signaturschlüssel zur Identifizierung von SignatureDef; kann null sein, wenn das Modell eine Signatur. |
Löst aus
IllegalArgumentException | Wenn inputName oder signatureKey null oder leer ist,
oder ungültiger Name angegeben ist.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Lang getLastNativeInferenceDurationNanoseconds ()
Gibt das Timing der nativen Inferenz zurück.
<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getOutputIndex (String opName)
Ruft den Index einer Ausgabe anhand des Vorgangsnamens der Ausgabe ab.
Parameter
opName |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Tensor getOutputTensor (int outputIndex)
Ruft den Tensor ab, der dem bereitgestellten Ausgabeindex zugeordnet ist.
Hinweis: Details zu Ausgabetensoren (z.B. Form) werden möglicherweise erst nach der Inferenz vollständig ausgefüllt
ausgeführt wird. Wenn Sie *vor* dem Ausführen einer Inferenz (z.B. nach der Größenanpassung eines
Eingabetensor, der Ausgabetensorformen entwerten kann, verwenden Sie allocateTensors()
, um
die Zuweisung und Form-Weitergabe explizit auslösen. Bei Grafiken mit Ausgabeformen
die von *Eingabewerten* abhängig sind, ist die Ausgabeform möglicherweise erst
ausgeführte Inferenz.
Parameter
outputIndex |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getOutputTensorCount ()
Ruft die Anzahl der Tensoren für die Ausgabe ab.
<ph type="x-smartling-placeholder"></ph> öffentlich Tensor getOutputTensorFromSignature (String outputName, String signatureKey)
Ruft den Tensor ab, der dem bereitgestellten Ausgabenamen in einer bestimmten Signaturmethode zugeordnet ist.
Hinweis: Details zu Ausgabetensoren (z.B. Form) werden möglicherweise erst nach der Inferenz vollständig ausgefüllt
ausgeführt wird. Wenn Sie *vor* dem Ausführen einer Inferenz (z.B. nach der Größenanpassung eines
Eingabetensor, der Ausgabetensorformen entwerten kann, verwenden Sie allocateTensors()
, um
die Zuweisung und Form-Weitergabe explizit auslösen. Bei Grafiken mit Ausgabeformen
die von *Eingabewerten* abhängig sind, ist die Ausgabeform möglicherweise erst
ausgeführte Inferenz.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
outputName | Ausgabename in der Signatur. |
---|---|
signatureKey | Signaturschlüssel zur Identifizierung von SignatureDef; kann null sein, wenn das Modell eine Signatur. |
Löst aus
IllegalArgumentException | wenn outputName oder signatureKey null oder
Leer oder ungültiger Name angegeben.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich String[] getSignatureInputs (String signatureKey)
Ruft die Liste der SignatureDefs-Eingaben für die Methode signatureKey
ab.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
signatureKey |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich String[] getSignatureKeys ()
Ruft die Liste der exportierten SignatureDef-Methodennamen ab, die im Modell verfügbar sind.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
<ph type="x-smartling-placeholder"></ph> öffentlich String[] getSignatureOutputs (String signatureKey)
Ruft die Liste der SignatureDefs-Ausgaben für die Methode signatureKey
ab.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
signatureKey |
---|
<ph type="x-smartling-placeholder"></ph> öffentlich voidm resetVariableTensors ()
Erweitert: Setzt alle Variablentensoren auf den Standardwert zurück.
Wenn einem Variablentensor keinen Zwischenspeicher zugeordnet ist, wird er auf null zurückgesetzt.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
<ph type="x-smartling-placeholder"></ph> öffentlich voidm resizeInput (int idx, int[] dimmen, boolesch streng)
Ändert die Größe der idx-ten Eingabe des nativen Modells an die angegebenen Dimmungen.
Wenn „strikt“ auf „True“ gesetzt ist, kann nur die Größe unbekannter Dimensionen geändert werden. Unbekannte Abmessungen sind angegeben als "-1" im von "Tensor.shapeSignature()" zurückgegebenen Array.
Parameter
IdX | |
---|---|
dunkler | |
Strikt |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm resizeInput (Int idx, int[] dimme)
Ändert die Größe der idx-ten Eingabe des nativen Modells an die angegebenen Dimmungen.
Parameter
IdX | |
---|---|
dunkler |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm ausführen (Objekt-Eingabe, Objekt-Ausgabe)
Führt eine Modellinferenz aus, wenn das Modell nur eine Eingabe annimmt und nur eine Ausgabe bereitstellt.
Warnung: Die API ist effizienter, wenn ein Buffer
(bevorzugt, direkt, aber nicht erforderlich) verwendet wird.
als Eingabe-/Ausgabedatentyp verwendet. Bitte verwenden Sie Buffer
zum Einspeisen und Abrufen
um eine bessere Leistung zu erzielen. Die folgenden konkreten Buffer
-Typen sind
unterstützt:
ByteBuffer
– kompatibel mit allen zugrunde liegenden primitiven Tensor-Typen.FloatBuffer
– kompatibel mit Float-Tensoren.IntBuffer
– kompatibel mit int32-Tensoren.LongBuffer
– kompatibel mit int64-Tensoren.
Buffer
s oder als skalare Eingaben unterstützt.Parameter
Eingabe | Array oder mehrdimensionales Array oder Buffer primitiver Typen
einschließlich int, float, long und byte. Buffer ist die bevorzugte Methode, um große
Eingabedaten für primitive Typen, während für Zeichenfolgentypen die (multidimensionale)
Array-Eingabepfad. Wenn eine Buffer verwendet wird, sollte ihr Inhalt bis zu diesem Zeitpunkt unverändert bleiben.
Modellinferenz erfolgt und der Aufrufer muss sicherstellen, dass sich die Buffer am
Leseposition ein. Ein null -Wert ist nur zulässig, wenn der Aufrufer eine
Delegate , die die Interoperabilität der Zwischenspeicherverarbeitung zulässt, und ein solcher Zwischenspeicher wurde an den
Geben Sie Tensor ein. |
---|---|
output | ein multidimensionales Array von Ausgabedaten oder eine Buffer von primitiven Typen
einschließlich int, float, long und byte. Bei Verwendung von Buffer muss der Aufrufer sicherstellen,
dass die entsprechende Schreibposition eingestellt ist. Ein Nullwert ist zulässig und nützlich für
In bestimmten Fällen, z.B. wenn der Aufrufer ein Delegate verwendet, das ein Zwischenspeicher-Handle zulässt
interop und ein solcher Zwischenspeicher wurde an die Ausgabe-Tensor gebunden (siehe auch Interpreter.Options#setAllowBufferHandleOutput(boolean)).
Oder wenn die Grafik über dynamisch geformte Ausgaben verfügt und der Aufrufer die Ausgabeform Tensor abfragen muss, nachdem die Inferenz aufgerufen wurde, um die Daten direkt aus der Ausgabe abzurufen
Tensor (über Tensor.asReadOnlyBuffer() ). |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm runForMultipleInputsOutputs (Object[]-Eingaben, Map<Integer, Object>-Ausgaben)
Führt eine Modellinferenz aus, wenn das Modell mehrere Eingaben annimmt oder mehrere Ausgaben zurückgibt.
Warnung: Die API ist effizienter, wenn Buffer
s (bevorzugt direkt, aber nicht erforderlich)
als Eingabe-/Ausgabedatentypen verwendet. Bitte verwenden Sie Buffer
zum Einspeisen und Abrufen
um eine bessere Leistung zu erzielen. Die folgenden konkreten Buffer
-Typen sind
unterstützt:
ByteBuffer
– kompatibel mit allen zugrunde liegenden primitiven Tensor-Typen.FloatBuffer
– kompatibel mit Float-Tensoren.IntBuffer
– kompatibel mit int32-Tensoren.LongBuffer
– kompatibel mit int64-Tensoren.
Buffer
s oder als skalare Eingaben unterstützt.
Hinweis: null
-Werte für einzelne Elemente von inputs
und outputs
sind
nur zulässig, wenn der Aufrufer eine Delegate
verwendet, die Interoperabilität zur Zwischenspeicherbehandlung zulässt, und
Ein solcher Zwischenspeicher wurde an die entsprechende(n) Eingabe- oder Ausgabe-Tensor
(s) gebunden.
Parameter
Eingaben | ein Array von Eingabedaten. Die Eingaben müssen die gleiche Reihenfolge haben wie die Eingaben des
modellieren. Jede Eingabe kann ein Array oder ein mehrdimensionales Array oder ein Buffer von
wie int, float, long und byte. Buffer ist die bevorzugte Route
große Eingabedaten übergeben, während bei Stringtypen die Verwendung des (multidimensionalen) Arrays erforderlich ist
Eingabepfad. Wenn Buffer verwendet wird, sollte sein Inhalt bis zum Modell unverändert bleiben
der Inferenz erfolgt und der Aufrufer muss sicherstellen, dass sich die Buffer am richtigen
Leseposition ein. |
---|---|
Ausgaben | eine Zuordnung, die Ausgabeindexe mehrdimensionalen Arrays von Ausgabedaten oder Buffer s primitiver Typen wie Int, Float, Long und Byte zuordnet. Es muss nur die
Einträge für die zu verwendenden Ausgaben. Bei Verwendung von Buffer muss der Aufrufer sicherstellen,
dass die entsprechende Schreibposition eingestellt ist. Die Karte kann leer sein, wenn entweder
Puffer-Handles werden für Ausgabetensor-Daten oder Fälle verwendet, in denen die Ausgaben dynamisch sind
Shaped und der Aufrufer muss die Tensor -Ausgabeform abfragen, nachdem die Inferenz durchgeführt wurde
aufgerufen, wodurch die Daten direkt aus dem Ausgabetensor abgerufen werden (über Tensor.asReadOnlyBuffer() ). |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm runSignature (Map<String, Object>-Eingaben, Map<String, Object>-Ausgaben)
Wie bei runSignature(Map, Map, String)
, es muss jedoch kein signatureKey übergeben werden,
vorausgesetzt, das Modell hat eine SignatureDef. Wenn das Modell mehr als eine SignatureDefin hat, gilt Folgendes:
lösen eine Ausnahme aus.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
Eingaben | |
---|---|
Ausgaben |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm runSignature (Map<String, Object>-Eingaben, Map<String, Object>-Ausgaben, String signatureKey)
Führt Modellinferenz anhand von SignatureDef aus, die über signatureKey
bereitgestellt werden.
Weitere Informationen zu den zulässigen Ein- und Ausgabe findest du unter run(Object, Object)
Datentypen.
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
Eingaben | Eine Zuordnung vom Eingabenamen in der SignatureDef zu einem Eingabeobjekt. |
---|---|
Ausgaben | Eine Zuordnung vom Ausgabenamen in SignatureDef zu Ausgabedaten. Dieses Feld kann leer sein, wenn das
Der Aufrufer möchte die Tensor -Daten direkt nach der Inferenz abfragen (z.B.
die Ausgabeform dynamisch ist oder für die Ausgabepuffer-Ziehpunkte verwendet werden. |
signatureKey | Signaturschlüssel zur Identifizierung von SignatureDef. |
Löst aus
IllegalArgumentException | wenn inputs null oder leer ist, wenn outputs oder
signatureKey ist null oder wenn beim Ausführen der Inferenz ein Fehler auftritt.
|
---|
<ph type="x-smartling-placeholder"></ph> öffentlich voidm setCancelled (Boolescher Wert abgebrochen)
Erweitert: Unterbricht die Inferenz während eines Anrufs an run(Object, Object)
.
Ein Abbruchs-Flag wird auf „true“ gesetzt, wenn diese Funktion aufgerufen wird. Der Dolmetscher wird
Prüfen Sie das Flag zwischen Op-Aufrufen. Wenn es true
lautet, stoppt der Interpreter
Ausführung. Der Dolmetscher bleibt im Status „Abgebrochen“, bis er explizit „aufgehoben“ wird. von
setCancelled(false)
WARNUNG: Dies ist eine experimentelle API, die sich ändern kann.
Parameter
abgebrochen | true , um die Inferenz bestmöglich abzubrechen; false bis
Fortsetzen. |
---|
Löst aus
IllegalStateException | wenn der Interpreter nicht mit der stornierbaren die standardmäßig deaktiviert ist. |
---|