类 OrtSession

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

    public class OrtSession
    extends java.lang.Object
    implements java.lang.AutoCloseable
    封装 ONNX 模型并允许执行推理调用。

    允许检查模型的输入和输出节点。由 OrtEnvironment 生成。

    如果会话已关闭且调用了方法,则大多数实例方法会抛出 IllegalStateException

    • 方法详细信息

      • getNumInputs

        public long getNumInputs()
        返回此模型预期的输入数量。
        返回
        输入数量。
      • getNumOutputs

        public long getNumOutputs()
        返回此模型预期的输出数量。
        返回
        输出数量。
      • getInputNames

        public java.util.Set<java.lang.String> getInputNames()
        返回输入名称。底层集合根据输入ID编号排序。
        返回
        输入名称。
      • getOutputNames

        public java.util.Set<java.lang.String> getOutputNames()
        返回输出名称。底层集合根据输出ID编号排序。
        返回
        输出名称。
      • getInputInfo

        public java.util.Map<java.lang.String,​NodeInfo> getInputInfo()
                                                                    throws OrtException
        返回输入的详细信息对象,包括其名称和类型。底层集合根据输入ID编号排序。
        返回
        输入信息。
        抛出
        OrtException - 如果原生代码出错。
      • getOutputInfo

        public java.util.Map<java.lang.String,​NodeInfo> getOutputInfo()
                                                                     throws OrtException
        返回输出的详细信息对象,包括其名称和类型。底层集合根据输出ID编号排序。
        返回
        输出信息。
        抛出
        OrtException - 如果原生代码出错。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs)
                              throws OrtException
        对输入馈送字典进行评分,返回所有推断输出的映射表。

        输出根据其ID编号排序。

        参数
        inputs - 用于评分(执行推理)的输入。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入名称无效或输入数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     OrtSession.RunOptions runOptions)
                              throws OrtException
        对输入馈送字典进行评分,返回所有推断输出的映射表。

        输出根据其ID编号排序。

        参数
        inputs - 用于评分(执行推理)的输入。
        runOptions - 用于控制此次运行的 RunOptions。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入名称无效或输入数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     java.util.Set<java.lang.String> requestedOutputs)
                              throws OrtException
        对输入馈送字典进行评分,返回请求的推断输出的映射表。

        输出根据提供的集合遍历顺序排序。

        参数
        inputs - 用于评分(执行推理)的输入。
        requestedOutputs - 请求的输出。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入或输出名称无效或输入或输出数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     java.util.Set<java.lang.String> requestedOutputs,
                                     OrtSession.RunOptions runOptions)
                              throws OrtException
        对输入馈送字典进行评分,返回请求的推断输出的映射表。

        输出根据提供的集合遍历顺序排序。

        参数
        inputs - 用于评分(执行推理)的输入。
        requestedOutputs - 请求的输出。
        runOptions - 用于控制此次运行的 RunOptions。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入或输出名称无效或输入或输出数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     java.util.Map<java.lang.String,​? extends OnnxValue> pinnedOutputs)
                              throws OrtException
        对输入馈送字典进行评分,返回已固定的输出的映射表。

        输出根据提供的映射表遍历顺序排序。

        注意:已固定的输出不属于 OrtSession.Result 对象,且在结果对象关闭时不会被关闭。

        参数
        inputs - 用于评分(执行推理)的输入。
        pinnedOutputs - 用户已分配的请求输出。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入或输出名称无效或输入或输出数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     java.util.Set<java.lang.String> requestedOutputs,
                                     java.util.Map<java.lang.String,​? extends OnnxValue> pinnedOutputs)
                              throws OrtException
        对输入馈送字典进行评分,返回请求的和已固定的输出的映射表。

        输出根据提供的集合遍历顺序排序,已固定的输出在前,然后是请求的输出。如果同一个输出名称同时出现在请求的输出和已固定的输出中,则会抛出 IllegalArgumentException

        注意:已固定的输出不属于 OrtSession.Result 对象,且在结果对象关闭时不会被关闭。

        参数
        inputs - 用于评分(执行推理)的输入。
        requestedOutputs - ORT 将分配的请求输出。
        pinnedOutputs - 用户已分配的请求输出。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入或输出名称无效或输入或输出数量为零或过多。
      • run

        public OrtSession.Result run​(java.util.Map<java.lang.String,​? extends OnnxTensorLike> inputs,
                                     java.util.Set<java.lang.String> requestedOutputs,
                                     java.util.Map<java.lang.String,​? extends OnnxValue> pinnedOutputs,
                                     OrtSession.RunOptions runOptions)
                              throws OrtException
        对输入馈送字典进行评分,返回请求的和已固定的输出的映射表。

        输出根据提供的集合遍历顺序排序,已固定的输出在前,然后是请求的输出。如果同一个输出名称同时出现在请求的输出和已固定的输出中,则会抛出 IllegalArgumentException

        注意:已固定的输出不属于 OrtSession.Result 对象,且在结果对象关闭时不会被关闭。

        参数
        inputs - 用于评分(执行推理)的输入。
        requestedOutputs - ORT 将分配的请求输出。
        pinnedOutputs - 用户已分配的请求输出。
        runOptions - 用于控制此次运行的 RunOptions。
        返回
        推断出的输出。
        抛出
        OrtException - 如果原生代码出错、输入或输出名称无效或输入或输出数量为零或过多。
      • getProfilingStartTimeInNs

        public long getProfilingStartTimeInNs()
                                       throws OrtException
        返回性能分析开始时的纳秒级时间戳。
        返回
        性能分析开始时的纳秒级时间。
        抛出
        OrtException - 如果原生调用失败。
      • endProfiling

        public java.lang.String endProfiling()
                                      throws OrtException
        结束性能分析会话并返回分析器的输出。

        应在使用 OrtSession.SessionOptions 构造此 Session 时启用性能分析。

        返回
        性能分析输出。
        抛出
        OrtException - 如果原生调用失败。
      • toString

        public java.lang.String toString()
        覆盖
        覆盖 类 java.lang.Object 中的 toString
      • close

        public void close()
                   throws OrtException
        关闭会话,释放其资源。
        指定者
        close 由接口 java.lang.AutoCloseable 指定
        抛出
        OrtException - 如果关闭失败。