类 OrtEnvironment

  • 所有实现的接口
    java.lang.AutoCloseable

    public final class OrtEnvironment
    extends java.lang.Object
    implements java.lang.AutoCloseable
    ONNX Runtime 系统的主机对象。可以创建用于封装特定模型的 OrtSession 实例。此对象应在创建任何其他 ONNX Runtime 类之前实例化。

    在一个 JVM 生命周期内,最多只能创建一个 OrtEnvironment 对象。为了与 1.10 及更早版本向后兼容,此类像以前一样实现了 AutoCloseable 接口,但 close 方法是一个无操作(no-op)。环境通过在构建时注册的 JVM 关闭钩子关闭。

    • 字段详细信息

      • DEFAULT_NAME

        public static final java.lang.String DEFAULT_NAME
        从 Java 构造的 ORT 环境的默认名称。
        另请参阅
        常量字段值
    • 方法详细信息

      • getEnvironment

        public static OrtEnvironment getEnvironment​(java.lang.String name)
        获取 OrtEnvironment。如果当前没有创建环境,则使用提供的名称和 OrtLoggingLevel.ORT_LOGGING_LEVEL_WARNING 创建一个。

        如果环境已存在,则返回现有环境,并且如果名称或日志级别与请求的不同,则记录警告。

        参数
        name - 环境的日志记录 ID。
        返回
        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.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)
                                 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()
        覆盖
        toString 在类 java.lang.Object
      • getAvailableProviders

        public static java.util.EnumSet<OrtProvider> getAvailableProviders()
        获取在此环境中可用的提供程序。
        返回
        可用执行提供程序的枚举集合。
      • close

        public void close()
        自 ORT 1.11 起,OrtEnvironment 上的 close 方法是一个无操作(no-op)。
        指定者
        close 在接口 java.lang.AutoCloseable