程序包 ai.onnxruntime
类 OrtEnvironment
- java.lang.Object
-
- ai.onnxruntime.OrtEnvironment
-
- 所有已实现的接口
java.lang.AutoCloseable
public final class OrtEnvironment extends java.lang.Object implements java.lang.AutoCloseableONNX Runtime 系统的宿主对象。可以创建封装特定模型的OrtSession。在创建任何其他 ONNX Runtime 类之前,应先实例化此对象。在 JVM 生命周期内最多只能创建一个 OrtEnvironment 对象。此类像以前一样实现了
AutoCloseable以保持与 1.10 及更早版本的向后兼容性,但 close 方法为空操作。环境通过在构造时注册的 JVM 关闭挂钩(shutdown hook)来关闭。
-
-
嵌套类概要
嵌套类 限定符和类型 类 描述 static classOrtEnvironment.OrtCompiledModelCompatibility表示已编译模型与一组OrtEpDevice的兼容性的枚举。static classOrtEnvironment.ThreadingOptions控制环境中的全局线程池。
-
字段概要
字段 限定符和类型 字段 描述 static java.lang.StringDEFAULT_NAME从 Java 构建的 ORT 环境的默认名称。
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法 描述 voidclose()自 ORT 1.11 起,Close 在 OrtEnvironment 上为空操作。OrtSessioncreateSession(byte[] modelArray)使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtSessioncreateSession(byte[] modelArray, OrtSession.SessionOptions options)使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtSessioncreateSession(java.lang.String modelPath)使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtSessioncreateSession(java.lang.String modelPath, OrtSession.SessionOptions options)使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtSessioncreateSession(java.nio.ByteBuffer modelBuffer)使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtSessioncreateSession(java.nio.ByteBuffer modelBuffer, OrtSession.SessionOptions options)使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。OrtTrainingSessioncreateTrainingSession(java.lang.String checkpointPath, java.lang.String trainPath, java.lang.String evalPath, java.lang.String optimizerPath)使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建训练会话。OrtTrainingSessioncreateTrainingSession(java.lang.String checkpointPath, java.lang.String trainPath, java.lang.String evalPath, java.lang.String optimizerPath, OrtSession.SessionOptions options)使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建训练会话。static java.util.EnumSet<OrtProvider>getAvailableProviders()获取此环境中可用的提供程序。static OrtEnvironmentgetEnvironment()获取 OrtEnvironment。static OrtEnvironmentgetEnvironment(OrtLoggingLevel logLevel)获取 OrtEnvironment。static OrtEnvironmentgetEnvironment(OrtLoggingLevel loggingLevel, java.lang.String name)获取 OrtEnvironment。static OrtEnvironmentgetEnvironment(OrtLoggingLevel loggingLevel, java.lang.String name, OrtEnvironment.ThreadingOptions threadOptions)使用指定的全局线程池选项创建 OrtEnvironment。static OrtEnvironmentgetEnvironment(java.lang.String name)获取 OrtEnvironment。java.util.List<OrtEpDevice>getEpDevices()获取所有可用的执行提供程序和设备组合列表。OrtEnvironment.OrtCompiledModelCompatibilitygetModelCompatibilityForEpDevices(java.util.List<OrtEpDevice> epDevices, java.lang.String modelInfo)对照OrtEpDevice列表检查提供的模型信息字符串,以查看模型是否兼容。java.lang.StringgetVersion()获取原生库的版本字符串。booleanisTrainingEnabled()此 ONNX Runtime 版本是否启用了训练功能?voidregisterExecutionProviderLibrary(java.lang.String registrationName, java.lang.String libraryPath)向此 OrtEnvironment 注册执行提供程序库。voidsetTelemetry(boolean sendTelemetry)开启或关闭遥测。java.lang.StringtoString()voidunregisterExecutionProviderLibrary(java.lang.String registrationName)从此 OrtEnvironment 中注销执行提供程序库。
-
-
-
字段详细信息
-
DEFAULT_NAME
public static final java.lang.String DEFAULT_NAME
从 Java 构建的 ORT 环境的默认名称。- 另请参阅
- 常量字段值
-
-
方法详细信息
-
getEnvironment
public static OrtEnvironment getEnvironment()
获取 OrtEnvironment。如果当前尚未创建环境,它将使用DEFAULT_NAME和OrtLoggingLevel.ORT_LOGGING_LEVEL_WARNING创建一个环境。- 返回值
- OrtEnvironment 单例。
-
getEnvironment
public static OrtEnvironment getEnvironment(java.lang.String name)
获取 OrtEnvironment。如果当前尚未创建环境,它将使用提供的名称和OrtLoggingLevel.ORT_LOGGING_LEVEL_WARNING创建一个环境。如果环境已存在,则返回现有的环境;如果名称或日志级别与请求的不同,则记录警告。
- 参数
name- 环境的日志标识。- 返回值
- OrtEnvironment 单例。
-
getEnvironment
public static OrtEnvironment getEnvironment(OrtLoggingLevel logLevel)
获取 OrtEnvironment。如果当前尚未创建环境,它将使用DEFAULT_NAME和提供的日志级别创建一个环境。如果环境已存在,则返回现有的环境;如果名称或日志级别与请求的不同,则记录警告。
- 参数
logLevel- 要使用的日志级别。- 返回值
- OrtEnvironment 单例。
-
getEnvironment
public static OrtEnvironment getEnvironment(OrtLoggingLevel loggingLevel, java.lang.String name)
获取 OrtEnvironment。如果当前尚未创建环境,它将使用提供的名称和日志级别创建一个环境。如果已存在具有不同名称的环境,则返回该环境并记录警告。- 参数
loggingLevel- 要使用的日志级别。name- 日志 ID。- 返回值
- OrtEnvironment 单例。
-
getEnvironment
public static OrtEnvironment getEnvironment(OrtLoggingLevel loggingLevel, java.lang.String name, OrtEnvironment.ThreadingOptions threadOptions)
使用指定的全局线程池选项创建 OrtEnvironment。请注意,与其他getEnvironment方法不同,如果已存在现有的 OrtEnvironment,此调用将抛出IllegalStateException,因为我们无法保证该环境具有适当的线程池配置。- 参数
loggingLevel- 要使用的日志级别。name- 日志 ID。threadOptions- 全局线程池选项。- 返回值
- OrtEnvironment 单例。
-
createSession
public OrtSession createSession(java.lang.String modelPath) throws OrtException
使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelPath- 从中加载模型的磁盘路径。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型加载失败、不兼容或导致错误。
-
createSession
public OrtSession createSession(java.lang.String modelPath, OrtSession.SessionOptions options) throws OrtException
使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelPath- 从中加载模型的磁盘路径。options- 会话选项。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型加载失败、不兼容或导致错误。
-
createSession
public OrtSession createSession(java.nio.ByteBuffer modelBuffer, OrtSession.SessionOptions options) throws OrtException
使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelBuffer- 表示 ONNX 模型的字节缓冲区。必须是直接字节缓冲区。options- 会话选项。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型解析失败、不兼容或导致错误。
-
createSession
public OrtSession createSession(java.nio.ByteBuffer modelBuffer) throws OrtException
使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelBuffer- 表示 ONNX 模型的字节缓冲区。必须是直接字节缓冲区。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型解析失败、不兼容或导致错误。
-
createSession
public OrtSession createSession(byte[] modelArray, OrtSession.SessionOptions options) throws OrtException
使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelArray- 表示 ONNX 模型的字节数组。options- 会话选项。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型解析失败、不兼容或导致错误。
-
createSession
public OrtSession createSession(byte[] modelArray) throws OrtException
使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建会话。- 参数
modelArray- 表示 ONNX 模型的字节数组。- 返回值
- 带有指定模型的
OrtSession。 - 抛出
OrtException- 如果模型解析失败、不兼容或导致错误。
-
createTrainingSession
public OrtTrainingSession createTrainingSession(java.lang.String checkpointPath, java.lang.String trainPath, java.lang.String evalPath, java.lang.String optimizerPath) throws OrtException
使用默认的OrtSession.SessionOptions、模型和默认内存分配器创建训练会话。- 参数
checkpointPath- 检查点文件夹的路径。trainPath- 训练模型的路径。evalPath- 评估模型的路径。Null 表示没有评估模型。optimizerPath- 优化器模型的路径。Null 表示没有优化器模型。- 返回值
- 加载了指定模型的
OrtTrainingSession。 - 抛出
OrtException- 如果模型加载失败、不兼容或导致错误。
-
createTrainingSession
public OrtTrainingSession createTrainingSession(java.lang.String checkpointPath, java.lang.String trainPath, java.lang.String evalPath, java.lang.String optimizerPath, OrtSession.SessionOptions options) throws OrtException
使用指定的OrtSession.SessionOptions、模型和默认内存分配器创建训练会话。- 参数
checkpointPath- 检查点文件夹的路径。trainPath- 训练模型的路径。evalPath- 评估模型的路径。Null 表示没有评估模型。optimizerPath- 优化器模型的路径。Null 表示没有优化器模型。options- 会话选项。- 返回值
- 带有指定模型的
OrtTrainingSession。 - 抛出
OrtException- 如果模型加载失败、不兼容或导致错误。
-
isTrainingEnabled
public boolean isTrainingEnabled()
此 ONNX Runtime 版本是否启用了训练功能?- 返回值
- 如果启用了训练,则为 True。
-
setTelemetry
public void setTelemetry(boolean sendTelemetry) throws OrtException开启或关闭遥测。- 参数
sendTelemetry- 如果为 true,则发送关于 ONNX Runtime 使用情况的遥测数据。- 抛出
OrtException- 如果调用失败。
-
getVersion
public java.lang.String getVersion()
获取原生库的版本字符串。- 返回值
- 版本字符串。
-
toString
public java.lang.String toString()
- 重写
toStringin classjava.lang.Object
-
getAvailableProviders
public static java.util.EnumSet<OrtProvider> getAvailableProviders()
获取此环境中可用的提供程序。- 返回值
- 可用执行提供程序的枚举集。
-
registerExecutionProviderLibrary
public void registerExecutionProviderLibrary(java.lang.String registrationName, java.lang.String libraryPath) throws OrtException向此 OrtEnvironment 注册执行提供程序库。- 参数
registrationName- 注册库所使用的名称(稍后用于通过unregisterExecutionProviderLibrary(String)移除它)。libraryPath- 磁盘上库二进制文件的路径。- 抛出
OrtException- 如果库无法注册。
-
unregisterExecutionProviderLibrary
public void unregisterExecutionProviderLibrary(java.lang.String registrationName) throws OrtException从此 OrtEnvironment 中注销执行提供程序库。- 参数
registrationName- 库注册时使用的名称。- 抛出
OrtException- 如果库无法移除。
-
getEpDevices
public java.util.List<OrtEpDevice> getEpDevices() throws OrtException
获取所有可用的执行提供程序和设备组合列表。- 返回值
- 执行提供程序和设备组合的列表。
- 抛出
OrtException- 如果无法列出设备。- 另请参阅
OrtSession.SessionOptions.addExecutionProvider(List, Map)
-
getModelCompatibilityForEpDevices
public OrtEnvironment.OrtCompiledModelCompatibility getModelCompatibilityForEpDevices(java.util.List<OrtEpDevice> epDevices, java.lang.String modelInfo) throws OrtException
对照OrtEpDevice列表检查提供的模型信息字符串,以查看模型是否兼容。- 参数
epDevices- 要使用的 EP-Device 元组。modelInfo- 要检查的模型信息字符串。- 返回值
- 模型兼容性。
- 抛出
OrtException- 如果调用失败。
-
close
public void close()
自 ORT 1.11 起,Close 在 OrtEnvironment 上为空操作。- 指定者
- 接口
java.lang.AutoCloseable中的close
-
-