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://runtime.onnx.org.cn/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://runtime.onnx.org.cn/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 扩展自定义操作是否成功注册。
-
在会话配置选项中启用 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
发生错误时设置的可选错误信息。
返回值
提供程序是否成功启用。
-
自 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
发生错误时设置的可选错误信息。
返回值
提供程序是否成功启用。