程序包 ai.onnxruntime

类 OrtModelCompilationOptions

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

    public final class OrtModelCompilationOptions
    extends java.lang.Object
    implements java.lang.AutoCloseable
    用于编译 ONNX 模型的配置选项。
    • 方法详细信息

      • createFromSessionOptions

        public static OrtModelCompilationOptions createFromSessionOptions​(OrtEnvironment env,
                                                                          OrtSession.SessionOptions sessionOptions)
                                                                   throws OrtException
        根据现有的 SessionOptions 创建模型编译选项。

        OrtModelCompilationOptions 对象包含用于生成编译后的 ONNX 模型的设置。OrtSessionOptions 对象包含模型将据此进行编译的执行提供程序(execution providers)。

        参数
        env - OrtEnvironment 环境。
        sessionOptions - 要使用的会话选项。
        返回值
        已构建的模型编译选项实例。
        抛出
        OrtException - 如果构建失败。
      • close

        public void close()
        指定者
        接口 java.lang.AutoCloseable 中的 close
      • setInputModelPath

        public void setInputModelPath​(java.lang.String inputModelPath)
                               throws OrtException
        设置输入 ONNX 模型的文件路径。

        输入模型的位置必须通过此方法设置为磁盘路径,或者通过 setInputModelFromBuffer(java.nio.ByteBuffer) 提供内存引用来设置。

        参数
        inputModelPath - 磁盘上模型的路径。
        抛出
        OrtException - 如果设置失败。
      • setInputModelFromBuffer

        public void setInputModelFromBuffer​(java.nio.ByteBuffer inputModelBuffer)
                                     throws OrtException
        使用提供的缓冲区作为输入 ONNX 模型。

        输入模型的位置必须通过此方法设置为内存引用,或者通过 setInputModelPath(String) 提供磁盘路径来设置。

        如果 ByteBuffer 不是直接缓冲区(direct buffer),它将被复制到直接缓冲区中。无论哪种情况,此对象都会持有该缓冲区的引用,以防止其被垃圾回收(GC)。

        参数
        inputModelBuffer - 缓冲区。
        抛出
        OrtException - 如果无法设置缓冲区。
      • setOutputModelPath

        public void setOutputModelPath​(java.lang.String outputModelPath)
                                throws OrtException
        设置输出的编译后 ONNX 模型的文件路径。

        如果未设置,它将在文件名后附加 `_ctx`,例如,my_model.onnx 将变为 my_model_ctx.onnx。

        参数
        outputModelPath - 输出模型路径。
        抛出
        OrtException - 如果无法设置路径。
      • setOutputExternalInitializersPath

        public void setOutputExternalInitializersPath​(java.lang.String outputExternalInitializersPath,
                                                      long sizeThreshold)
                                               throws OrtException
        (可选)设置用于存储编译后的 ONNX 模型初始值设定项的文件。如果未设置,则初始值设定项存储在模型内部。

        仅未编译节点的初始值设定项存储在外部初始值设定项文件中。已编译节点将其初始值设定项数据包含在 EPContext 节点的 `ep_cache_context` 属性中。

        参数
        outputExternalInitializersPath - 文件路径。
        sizeThreshold - 大于此阈值的初始值设定项将存储在文件中。
        抛出
        OrtException - 如果无法设置路径。
        另请参阅
        setEpContextEmbedMode(boolean)
      • setEpContextEmbedMode

        public void setEpContextEmbedMode​(boolean embedEpContext)
                                   throws OrtException
        启用或禁用将 EPContext 二进制数据嵌入到 EPContext 节点的 ep_cache_context 属性中。

        默认值为 false。启用后,EPContext 节点的 `ep_cache_context` 属性将存储上下文二进制数据,其中可能包括已编译子图的权重。禁用时,EPContext 节点的 `ep_cache_context` 属性将包含包含上下文二进制数据的文件路径。该路径由创建 EPContext 节点的执行提供程序设置。

        有关更多详细信息,请参阅 EPContext 设计文档。

        参数
        embedEpContext - 如果为 true,则将 EPContext 二进制数据嵌入到 EPContext 节点的 ep_cache_context 属性中。
        抛出
        OrtException - 如果设置操作失败。
      • compileModel

        public void compileModel()
                          throws OrtException
        使用此 OrtModelCompilationOptions 实例中描述的配置来编译 ONNX 模型。
        抛出
        OrtException - 如果编译失败。