程序包 ai.onnxruntime

类 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
        对输入字典进行评分,返回固定输出(pinned outputs)的映射。

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

        注意:固定输出(pinned outputs)不归 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

        注意:固定输出(pinned outputs)不归 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

        注意:固定输出(pinned outputs)不归 OrtSession.Result 对象所有,并且当结果对象关闭时,它们不会被关闭。

        参数
        inputs - 要评分的输入。
        requestedOutputs - 将由 ORT 分配的请求输出。
        pinnedOutputs - 用户已分配的所请求输出。
        runOptions - 控制此次运行的 RunOptions。
        返回值
        推理出的输出。
        抛出
        OrtException - 如果本机代码中出现错误、输入或输出名称无效,或者输入或输出数量为零或过多。
      • getProfilingStartTimeInNs

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

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

        必须在用于构建此 SessionOrtSession.SessionOptions 中启用性能分析。

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

        public java.lang.String toString()
        重写
        toString in class java.lang.Object
      • close

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