Paket ai.onnxruntime
Bietet Zugriff auf dieselben Ausführungs-Backends wie die C-Bibliothek. In Java nicht darstellbare Typen (wie fp16) werden bei Zugriff über diese API in den nächstgelegenen Java-Primitivtyp konvertiert.
Es werden zwei gemeinsam genutzte Bibliotheken benötigt: onnxruntime und onnxruntime4j_jni. Der Lader befindet sich in OnnxRuntime und die Logik ist in dieser Reihenfolge:
- Der Benutzer kann das Laden einer gemeinsam genutzten Bibliothek überspringen, indem er eine Eigenschaft im Format
onnxruntime.native.LIB_NAME.skipmit dem Werttruesetzt. Dies bedeutet, dass der Benutzer beschlossen hat, die Bibliothek auf andere Weise zu laden. - Der Benutzer kann einen expliziten Speicherort für alle nativen Bibliotheksdateien über eine Eigenschaft im Format
onnxruntime.native.pathangeben. Dies verwendetSystem.load(java.lang.String). - Der Benutzer kann einen expliziten Speicherort für die gemeinsam genutzte Bibliotheksdatei über eine Eigenschaft im Format
onnxruntime.native.LIB_NAME.pathangeben. Dies verwendetSystem.load(java.lang.String). - Die gemeinsam genutzte Bibliothek wird automatisch erkannt
- Wenn die gemeinsam genutzte Bibliothek in den Klassenpfadressourcen vorhanden ist, wird sie über eine temporäre Datei mit
System.load(java.lang.String)geladen. Idealerweise sollte dies der Standardfall sein, wenn JARs/Abhängigkeiten, die die gemeinsam genutzten Bibliotheken enthalten, zu Ihrem Klassenpfad hinzugefügt werden. - Wenn die gemeinsam genutzte Bibliothek nicht in den Klassenpfadressourcen vorhanden ist, wird sie über
System.loadLibrary(java.lang.String)geladen, die normalerweise an anderer Stelle im Dateisystem nach der Bibliothek sucht. Die Semantik und das Verhalten dieser Methode sind system-/JVM-abhängig. Typischerweise wird die Eigenschaftjava.library.pathverwendet, um den Speicherort nativer Bibliotheken anzugeben.
- Wenn die gemeinsam genutzte Bibliothek in den Klassenpfadressourcen vorhanden ist, wird sie über eine temporäre Datei mit
Beachten Sie, dass CUDA, ROCM, DNNL, OpenVINO und TensorRT allesamt "gemeinsam genutzte Bibliotheksausführungsanbieter" sind und entweder im Verzeichnis gespeichert werden müssen, das die native ONNX Runtime-Kernbibliothek enthält, oder als Klassenpfadressource. Dies liegt daran, dass diese Anbieter von der nativen ONNX Runtime-Bibliothek selbst geladen werden und die Java-API den Ladespeicherort nicht steuern kann.
-
Schnittstellenübersicht Schnittstelle Beschreibung OnnxValue Oberste Schnittstelle für Eingabe- und Ausgabewerte von ONNX-Modellen.OrtProviderOptions.OrtProviderSupplier Funktionales Interface, das einen Java-Supplier spiegelt, aber eine OrtException auslösen kann.ValueInfo Schnittstelle für Informations-Objekte, die einenOnnxValuebeschreiben. -
Klassenzusammenfassung Klasse Beschreibung MapInfo Beschreibt einOnnxMap-Objekt oder einen Ausgabe-Knoten.NodeInfo Die Informationen für einen Eingabe- oder Ausgabe-Knoten aus einem ONNX-Modell.OnnxMap Ein Container für eine Map, die vonOrtSession.run(Map)zurückgegeben wird.OnnxModelMetadata Enthält die Metadaten, die mit einem ONNX-Modell verknüpft sind.OnnxSequence Eine Sequenz vonOnnxValues desselben Typs.OnnxSparseTensor Ein Java-Objekt, das einen OnnxSparseTensor umschließt.OnnxSparseTensor.BlockSparseTensor Die Java-Darstellung eines Block-Sparse-Tensors.OnnxSparseTensor.COOTensor Die Java-seitige Darstellung eines COO-Sparse-Tensors.OnnxSparseTensor.CSRCTensor Die Java-seitige Darstellung eines CSRC-Sparse-Tensors.OnnxSparseTensor.SparseTensor<T extends java.nio.Buffer> Abstrakte Basisklasse für Java Sparse TensorsOnnxTensor Ein Java-Objekt, das einen OnnxTensor umschließt.OnnxTensorLike Derzeit implementiert vonOnnxTensor,OnnxSparseTensor.OrtEnvironment Das Host-Objekt für das ONNX Runtime-System.OrtEnvironment.ThreadingOptions Steuert die globalen Thread-Pools in der Umgebung.OrtLoraAdapter Ein Container für einen Adapter, der anOrtSession.RunOptions.addActiveLoraAdapter(OrtLoraAdapter)übergeben werden kann, um den Adapter auf eine bestimmte Ausführung eines Modells anzuwenden.OrtProviderOptions Eine abstrakte Basisklasse für Klassen mit Optionen für den Ausführungsanbieter.OrtSession Kapselt ein ONNX-Modell und ermöglicht Inferenzaufrufe.OrtSession.Result OrtSession.RunOptions Wird zur Steuerung der Protokollierung und Beendigung eines Aufrufs vonOrtSession.run(java.util.Map<java.lang.String, ? extends ai.onnxruntime.OnnxTensorLike>)verwendet.OrtSession.SessionOptions Repräsentiert die Optionen, die zum Erstellen dieser Sitzung verwendet werden.OrtTrainingSession Umschließt ein ONNX-Trainingsmodell und ermöglicht Trainings- und Inferenzaufrufe.OrtUtil Hilfsprogrammcode für die Interaktion mit Java-Arrays.SequenceInfo Beschreibt eineOnnxSequence, einschließlich ihres Elementtyps, falls bekannt.TensorInfo Beschreibt einenOnnxTensor, einschließlich seiner Größe, Form und seines Elementtyps. -
Aufzählungübersicht Aufzählung Beschreibung OnnxJavaType Eine Aufzählung, die unterstützte Java-Primitivtypen von ONNX Runtime (und String) darstellt.OnnxMap.OnnxMapValueType Eine Enum, die den Java-Typ der in einerOnnxMapgespeicherten Werte darstellt.OnnxSparseTensor.SparseTensorType Der Typ des Sparse-Tensors.OnnxValue.OnnxValueType Der Typ desOnnxValue, der die ID in der C-API widerspiegelt.OrtException.OrtErrorCode Bildet dieOrtErrorCode-Struktur inonnxruntime_c_api.hmit einem zusätzlichen Eintrag für Java-seitige Fehler ab.OrtLoggingLevel Die Schweregradstufe des Protokolls.OrtProvider Die über die Java API verfügbaren Ausführungsanbieter.OrtSession.SessionOptions.ExecutionMode Der zu verwendende Ausführungsmodus.OrtSession.SessionOptions.OptLevel Das zu verwendende Optimierungslevel.TensorInfo.OnnxTensorType Die nativen Elementtypen, die von der ONNX Runtime unterstützt werden. -
Ausnahmezusammenfassung Ausnahme Beschreibung OrtException Eine Ausnahme, die die von der nativen onnxruntime erzeugte Fehlermeldung und den Fehlercode enthält.