update objectivec directory from onnxruntime/objectivec

This commit is contained in:
edgchen1
2026-02-06 09:26:35 -08:00
parent b2e6c9de2a
commit 8596bfe7a4
7 changed files with 56 additions and 2 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ void ORTSaveCodeAndDescriptionToError(int code, const char* descriptionCstr, NSE
if (!error) return; if (!error) return;
NSString* description = [NSString stringWithCString:descriptionCstr NSString* description = [NSString stringWithCString:descriptionCstr
encoding:NSASCIIStringEncoding]; encoding:NSUTF8StringEncoding];
*error = [NSError errorWithDomain:kOrtErrorDomain *error = [NSError errorWithDomain:kOrtErrorDomain
code:code code:code
@@ -70,7 +70,22 @@ NS_ASSUME_NONNULL_BEGIN
*/ */
- (BOOL)appendCoreMLExecutionProviderWithOptions:(ORTCoreMLExecutionProviderOptions*)options - (BOOL)appendCoreMLExecutionProviderWithOptions:(ORTCoreMLExecutionProviderOptions*)options
error:(NSError**)error; error:(NSError**)error;
/**
* Enables the CoreML execution provider in the session configuration options.
* It is appended to the execution provider list which is ordered by
* decreasing priority.
*
* @param provider_options The CoreML execution provider options in dict.
* available keys-values: more detail in core/providers/coreml/coreml_execution_provider.h
* kCoremlProviderOption_MLComputeUnits: one of "CPUAndNeuralEngine", "CPUAndGPU", "CPUOnly", "All"
* kCoremlProviderOption_ModelFormat: one of "MLProgram", "NeuralNetwork"
* kCoremlProviderOption_RequireStaticInputShapes: "1" or "0"
* kCoremlProviderOption_EnableOnSubgraphs: "1" or "0"
* @param error Optional error information set if an error occurs.
* @return Whether the provider was enabled successfully.
*/
- (BOOL)appendCoreMLExecutionProviderWithOptionsV2:(NSDictionary*)provider_options
error:(NSError**)error;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
+1
View File
@@ -50,6 +50,7 @@ typedef NS_ENUM(int32_t, ORTGraphOptimizationLevel) {
ORTGraphOptimizationLevelNone, ORTGraphOptimizationLevelNone,
ORTGraphOptimizationLevelBasic, ORTGraphOptimizationLevelBasic,
ORTGraphOptimizationLevelExtended, ORTGraphOptimizationLevelExtended,
ORTGraphOptimizationLevelLayout,
ORTGraphOptimizationLevelAll, ORTGraphOptimizationLevelAll,
}; };
@@ -43,6 +43,21 @@ BOOL ORTIsCoreMLExecutionProviderAvailable() {
#endif #endif
} }
- (BOOL)appendCoreMLExecutionProviderWithOptionsV2:(NSDictionary*)provider_options
error:(NSError**)error {
#if ORT_OBJC_API_COREML_EP_AVAILABLE
try {
return [self appendExecutionProvider:@"CoreML" providerOptions:provider_options error:error];
}
ORT_OBJC_API_IMPL_CATCH_RETURNING_BOOL(error);
#else // !ORT_OBJC_API_COREML_EP_AVAILABLE
static_cast<void>(provider_options);
ORTSaveCodeAndDescriptionToError(ORT_FAIL, "CoreML execution provider is not enabled.", error);
return NO;
#endif
}
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
+1
View File
@@ -68,6 +68,7 @@ constexpr GraphOptimizationLevelInfo kGraphOptimizationLevelInfos[]{
{ORTGraphOptimizationLevelNone, ORT_DISABLE_ALL}, {ORTGraphOptimizationLevelNone, ORT_DISABLE_ALL},
{ORTGraphOptimizationLevelBasic, ORT_ENABLE_BASIC}, {ORTGraphOptimizationLevelBasic, ORT_ENABLE_BASIC},
{ORTGraphOptimizationLevelExtended, ORT_ENABLE_EXTENDED}, {ORTGraphOptimizationLevelExtended, ORT_ENABLE_EXTENDED},
{ORTGraphOptimizationLevelLayout, ORT_ENABLE_LAYOUT},
{ORTGraphOptimizationLevelAll, ORT_ENABLE_ALL}, {ORTGraphOptimizationLevelAll, ORT_ENABLE_ALL},
}; };
+22
View File
@@ -223,6 +223,28 @@ NS_ASSUME_NONNULL_BEGIN
ORTAssertNullableResultSuccessful(session, err); ORTAssertNullableResultSuccessful(session, err);
} }
- (void)testAppendCoreMLEP_v2 {
NSError* err = nil;
ORTSessionOptions* sessionOptions = [ORTSessionTest makeSessionOptions];
NSDictionary* provider_options = @{@"EnableOnSubgraphs" : @"1"}; // set an arbitrary option
BOOL appendResult = [sessionOptions appendCoreMLExecutionProviderWithOptionsV2:provider_options
error:&err];
if (!ORTIsCoreMLExecutionProviderAvailable()) {
ORTAssertBoolResultUnsuccessful(appendResult, err);
return;
}
ORTAssertBoolResultSuccessful(appendResult, err);
ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv
modelPath:[ORTSessionTest getAddModelPath]
sessionOptions:sessionOptions
error:&err];
ORTAssertNullableResultSuccessful(session, err);
}
- (void)testAppendXnnpackEP { - (void)testAppendXnnpackEP {
NSError* err = nil; NSError* err = nil;
ORTSessionOptions* sessionOptions = [ORTSessionTest makeSessionOptions]; ORTSessionOptions* sessionOptions = [ORTSessionTest makeSessionOptions];
Vendored Regular → Executable
View File