ORTSessionOptions

Objective-C

@interface ORTSessionOptions : NSObject

Swift

class ORTSessionOptions : NSObject

會話配置選項。

  • 不可用

    宣告

    Objective-C

    - (instancetype)init NS_UNAVAILABLE;
  • 建立會話配置選項。

    宣告

    Objective-C

    - (nullable instancetype)initWithError:(NSError *_Nullable *_Nullable)error;

    Swift

    init() throws

    引數

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    例項,如果發生錯誤則為 nil。

  • 將會話執行提供程式新增到會話選項中,以便在執行模型時使用該執行提供程式。

    自 1.14 版本可用。

    執行提供程式列表按優先順序遞減排序。即,第一個註冊的提供程式具有最高優先順序。

    宣告

    Objective-C

    - (BOOL)appendExecutionProvider:(nonnull NSString *)providerName
                    providerOptions:(nonnull NSDictionary<NSString *, NSString *> *)
                                        providerOptions
                              error:(NSError *_Nullable *_Nullable)error;

    Swift

    func appendExecutionProvider(_ providerName: String, providerOptions: [String : String] = [:]) throws

    引數

    providerName

    提供程式名稱。例如,“xnnpack”。

    providerOptions

    提供程式特定選項。例如,對於提供程式“xnnpack”,{"intra_op_num_threads": "2"}。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    執行提供程式是否成功新增

  • 設定用於在節點內並行執行的執行緒數。值為 0 意味著 ORT 將選擇一個預設值。

    宣告

    Objective-C

    - (BOOL)setIntraOpNumThreads:(int)intraOpNumThreads
                           error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setIntraOpNumThreads(_ intraOpNumThreads: Int32) throws

    引數

    intraOpNumThreads

    執行緒數。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 設定圖最佳化級別。

    宣告

    Objective-C

    - (BOOL)setGraphOptimizationLevel:
                (ORTGraphOptimizationLevel)graphOptimizationLevel
                                error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setGraphOptimizationLevel(_ graphOptimizationLevel: ORTGraphOptimizationLevel) throws

    引數

    graphOptimizationLevel

    圖最佳化級別。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 設定最佳化模型檔案的儲存路徑。

    宣告

    Objective-C

    - (BOOL)setOptimizedModelFilePath:(nonnull NSString *)optimizedModelFilePath
                                error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setOptimizedModelFilePath(_ optimizedModelFilePath: String) throws

    引數

    optimizedModelFilePath

    最佳化模型檔案路徑。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 設定會話日誌 ID。

    宣告

    Objective-C

    - (BOOL)setLogID:(nonnull NSString *)logID
               error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setLogID(_ logID: String) throws

    引數

    logID

    日誌 ID。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 設定會話日誌嚴重性級別。

    宣告

    Objective-C

    - (BOOL)setLogSeverityLevel:(ORTLoggingLevel)loggingLevel
                          error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setLogSeverityLevel(_ loggingLevel: ORTLoggingLevel) throws

    引數

    loggingLevel

    日誌嚴重性級別。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 設定會話配置鍵值對。任何先前設定的鍵的值都將被覆蓋。會話配置鍵和值在此處有詳細說明:https://github.com/microsoft/onnxruntime/blob/main/include/onnxruntime/core/session/onnxruntime_session_options_config_keys.h

    宣告

    Objective-C

    - (BOOL)addConfigEntryWithKey:(nonnull NSString *)key
                            value:(nonnull NSString *)value
                            error:(NSError *_Nullable *_Nullable)error;

    Swift

    func addConfigEntry(withKey key: String, value: String) throws

    引數

    key

    鍵。

    value

    值。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    選項是否成功設定。

  • 透過呼叫指定的原生函式名稱,註冊用於使用此 SessionOptions 的 ORTSession 自定義操作。自定義操作庫必須已連結或先前已由使用者載入。

    自 1.14 版本可用。

    註冊函式必須具有簽名:OrtStatus* (*fn)(OrtSessionOptions* options, const OrtApiBase* api);

    該簽名定義在 ONNX Runtime C API 中:https://github.com/microsoft/onnxruntime/blob/67f4cd54fab321d83e4a75a40efeee95a6a17079/include/onnxruntime/core/session/onnxruntime_c_api.h#L697

    有關自定義操作的更多資訊,請參閱 https://onnxruntime.llms.tw/docs/reference/operators/add-custom-op.html。有關自定義操作庫註冊函式的示例,請參閱 https://github.com/microsoft/onnxruntime/blob/342a5bf2b756d1a1fc6fdc582cfeac15182632fe/onnxruntime/test/testdata/custom_op_library/custom_op_library.cc#L115

    注意

    呼叫者必須確保 registrationFuncName 命名了一個對原生 ONNX Runtime 程式碼可見且具有正確簽名的有效函式。他們必須確保該函式執行了他們期望的操作,因為此方法將直接呼叫它。

    宣告

    Objective-C

    - (BOOL)registerCustomOpsUsingFunction:(nonnull NSString *)registrationFuncName
                                     error:(NSError *_Nullable *_Nullable)error;

    Swift

    func registerCustomOps(usingFunction registrationFuncName: String) throws

    引數

    registrationFuncName

    要呼叫的註冊函式的名稱。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    註冊函式是否成功呼叫。

  • 透過呼叫 registerCustomOpsFn 指向的指定函式,註冊用於使用此 SessionOptions 的 ORTSession 自定義操作。

    自 1.16 版本可用。

    註冊函式必須具有簽名:OrtStatus* (*fn)(OrtSessionOptions* options, const OrtApiBase* api);

    該簽名定義在 ONNX Runtime C API 中:https://github.com/microsoft/onnxruntime/blob/67f4cd54fab321d83e4a75a40efeee95a6a17079/include/onnxruntime/core/session/onnxruntime_c_api.h#L697

    有關自定義操作的更多資訊,請參閱 https://onnxruntime.llms.tw/docs/reference/operators/add-custom-op.html。有關自定義操作庫註冊函式的示例,請參閱 https://github.com/microsoft/onnxruntime/blob/342a5bf2b756d1a1fc6fdc582cfeac15182632fe/onnxruntime/test/testdata/custom_op_library/custom_op_library.cc#L115

    注意

    呼叫者必須確保 registerCustomOpsFn 是一個有效的函式指標且具有正確的簽名。他們必須確保該函式執行了他們期望的操作,因為此方法將直接呼叫它。

    宣告

    Objective-C

    - (BOOL)registerCustomOpsUsingFunctionPointer:
                (nonnull ORTCAPIRegisterCustomOpsFnPtr)registerCustomOpsFn
                                            error:(NSError *_Nullable *_Nullable)
                                                      error;

    Swift

    func registerCustomOps(functionPointer registerCustomOpsFn: ORTCAPIRegisterCustomOpsFnPtr) throws

    引數

    registerCustomOpsFn

    指向要呼叫的註冊函式的指標。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    註冊函式是否成功呼叫。

  • 註冊已內建到 ONNX Runtime 中的 ONNX Runtime 擴充套件自定義操作。

    自 1.16 版本可用。

    注意

    ONNX Runtime 必須已使用 --use_extensions 標誌構建,ONNX Runtime 擴充套件自定義操作才能透過此方法註冊。當使用單獨的 ONNX Runtime 擴充套件庫時,請改用 registerCustomOpsUsingFunctionPointer:error:

    宣告

    Objective-C

    - (BOOL)enableOrtExtensionsCustomOpsWithError:
        (NSError *_Nullable *_Nullable)error;

    Swift

    func enableOrtExtensionsCustomOps() throws

    引數

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    ONNX Runtime 擴充套件自定義操作是否成功註冊。

ORTSessionOptionsCoreMLEP

  • 在會話配置選項中啟用 CoreML 執行提供程式。它被新增到執行提供程式列表中,該列表按優先順序遞減排序。

    宣告

    Objective-C

    - (BOOL)appendCoreMLExecutionProviderWithOptions:
                (nonnull ORTCoreMLExecutionProviderOptions *)options
                                               error:(NSError *_Nullable *_Nullable)
                                                         error;

    Swift

    func appendCoreMLExecutionProvider(with options: ORTCoreMLExecutionProviderOptions) throws

    引數

    options

    CoreML 執行提供程式配置選項。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    提供程式是否成功啟用。

  • 在會話配置選項中啟用 CoreML 執行提供程式。它被新增到執行提供程式列表中,該列表按優先順序遞減排序。

    宣告

    Objective-C

    - (BOOL)appendCoreMLExecutionProviderWithOptionsV2:
                (nonnull NSDictionary *)provider_options
                                                 error:
                                                     (NSError *_Nullable *_Nullable)
                                                         error;

    Swift

    func appendCoreMLExecutionProvider(withOptionsV2 provider_options: [AnyHashable : Any] = [:]) throws

    引數

    provider_options

    CoreML 執行提供程式選項字典。可用鍵值:更多詳情請參見 core/providers/coreml/coreml_execution_provider.h kCoremlProviderOption_MLComputeUnits: “CPUAndNeuralEngine”、“CPUAndGPU”、“CPUOnly”、“All”之一 kCoremlProviderOption_ModelFormat: “MLProgram”、“NeuralNetwork”之一 kCoremlProviderOption_RequireStaticInputShapes: “1”或“0” kCoremlProviderOption_EnableOnSubgraphs: “1”或“0”

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    提供程式是否成功啟用。

ORTSessionOptionsXnnpackEP

  • 自 1.14 版本可用。在會話配置選項中啟用 Xnnpack 執行提供程式。它被新增到執行提供程式列表中,該列表按優先順序遞減排序。

    宣告

    Objective-C

    - (BOOL)appendXnnpackExecutionProviderWithOptions:
                (nonnull ORTXnnpackExecutionProviderOptions *)options
                                                error:
                                                    (NSError *_Nullable *_Nullable)
                                                        error;

    Swift

    func appendXnnpackExecutionProvider(with options: ORTXnnpackExecutionProviderOptions) throws

    引數

    options

    Xnnpack 執行提供程式配置選項。

    error

    發生錯誤時設定的可選錯誤資訊。

    返回值

    提供程式是否成功啟用。