- Notifications
You must be signed in to change notification settings - Fork548
CoreML macOS xcode16.0 b1
Rolf Bjarne Kvinge edited this pageAug 29, 2024 ·3 revisions
#CoreML.frameworkhttps://github.com/xamarin/xamarin-macios/pull/21145
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/CoreML.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/CoreML.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/CoreML.h2024-04-13 20:21:36+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/CoreML.h2024-05-30 02:24:02@@ -17,11 +17,13 @@ #import <CoreML/MLArrayBatchProvider.h> #import <CoreML/MLMultiArray.h> #import <CoreML/MLSequence.h>+#import <CoreML/MLState.h> #import <CoreML/MLMultiArrayConstraint.h> #import <CoreML/MLImageConstraint.h> #import <CoreML/MLDictionaryConstraint.h> #import <CoreML/MLSequenceConstraint.h>+#import <CoreML/MLStateConstraint.h> #import <CoreML/MLImageSize.h> #import <CoreML/MLImageSizeConstraint.h>@@ -38,6 +40,7 @@ #import <CoreML/MLModel+MLModelCompilation.h> #import <CoreML/MLModel+MLComputeDevice.h>+#import <CoreML/MLModel+MLState.h> #import <CoreML/MLModelError.h>diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureDescription.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureDescription.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureDescription.h2024-04-13 20:21:38+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureDescription.h2024-05-30 02:24:04@@ -12,6 +12,7 @@ #import <CoreML/MLMultiArrayConstraint.h> #import <CoreML/MLImageConstraint.h> #import <CoreML/MLSequenceConstraint.h>+#import <CoreML/MLStateConstraint.h> #import <CoreML/MLExport.h> NS_ASSUME_NONNULL_BEGIN@@ -54,6 +55,11 @@ /// Constraint when type == MLFeatureTypeSequence, nil otherwise @property (readonly, nullable, nonatomic) MLSequenceConstraint *sequenceConstraint API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0));++/// The state feature value constraint.+///+/// The property has a value when `.type == MLFeatureTypeState`.+@property (readonly, nullable, nonatomic) MLStateConstraint *stateConstraint API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0)); @enddiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureType.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureType.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureType.h2024-04-13 20:21:38+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureType.h2024-05-30 02:24:04@@ -34,6 +34,9 @@ /// MLSequence. Ordered collection of feature values with the same type MLFeatureTypeSequence API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) = 7,++ /// MLState. Represents a model state that may be updated in each inference.+ MLFeatureTypeState API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0)) = 8, } API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureValue.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureValue.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureValue.h2024-04-13 20:21:39+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLFeatureValue.h2024-05-30 02:24:05@@ -5,13 +5,13 @@ // Copyright © 2017 Apple Inc. All rights reserved. //-#import <Foundation/Foundation.h> #import <CoreML/MLFeatureType.h> #import <CoreML/MLMultiArray.h> #import <CoreML/MLSequence.h>-#import <CoreVideo/CVPixelBuffer.h>+#import <CoreML/MLState.h> #import <CoreML/MLExport.h>-+#import <Foundation/Foundation.h>+#import <CoreVideo/CVPixelBuffer.h> NS_ASSUME_NONNULL_BEGINdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel+MLState.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel+MLState.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel+MLState.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel+MLState.h2024-05-30 05:06:53@@ -0,0 +1,106 @@+//+// MLModel+MLState.h+// CoreML_framework+//+// Copyright © 2024 Apple Inc. All rights reserved.+//++#import <CoreML/MLModel.h>+#import <CoreML/MLState.h>++NS_ASSUME_NONNULL_BEGIN++API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0))+ML_EXPORT+@interface MLModel (MLState)++/// Creates a new state object.+///+/// Core ML framework will allocate the state buffers declared in the model.+///+/// The allocated state buffers are initialized to zeros. To initialize with different values, use `.withMultiArray(for:)` to get the mutable `MLMultiArray`-view to the state buffer.+///+/// It returns an empty state when the model is stateless. One can use the empty state with stateful prediction functions such as `prediction(from:using:)` and those predictions will be stateless. This simplifies the call site which may or may not use a stateful model.+///+/// ```swift+/// // Create state that contains two state buffers: s1 and s2.+/// // Then, initialize s1 to 1.0 and s2 to 2.0.+/// let state = model.newState()+/// state.withMultiArray(for: "s1") { stateMultiArray in+/// stateMultiArray[0] = 1.0+/// }+/// state.withMultiArray(for: "s2") { stateMultiArray in+/// stateMultiArray[0] = 2.0+/// }+/// ```+- (MLState *)newState+ NS_REFINED_FOR_SWIFT+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++/// Run a stateful prediction synchronously.+///+/// Use this method to run predictions on a stateful model.+///+/// ```swift+/// let state = model.newState()+/// let prediction = try model.prediction(from: inputFeatures, using: state)+/// ```+///+/// - Parameters:+/// - inputFeatures: The input features as declared in the model description.+/// - state: The state object created by `newState()` method.+/// - error: The output parameter to receive an error information on failure.+- (nullable id<MLFeatureProvider>)predictionFromFeatures:(id<MLFeatureProvider>)inputFeatures+ usingState:(MLState *)state+ error:(NSError * __autoreleasing *)error+ NS_SWIFT_NAME(prediction(from:using:))+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++/// Run a stateful prediction synchronously with options.+///+/// Use this method to run predictions on a stateful model.+///+/// ```swift+/// let state = model.newState()+/// let prediction = try model.prediction(from: inputFeatures, using: state, options: predictionOptions)+/// ```+///+/// - Parameters:+/// - inputFeatures: The input features as declared in the model description.+/// - state: The state object created by `newState()` method.+/// - options: The prediction options.+/// - error: The output parameter to receive an error information on failure.+- (nullable id<MLFeatureProvider>)predictionFromFeatures:(id<MLFeatureProvider>)inputFeatures+ usingState:(MLState *)state+ options:(MLPredictionOptions *)options+ error:(NSError * __autoreleasing *)error+ NS_SWIFT_NAME(prediction(from:using:options:))+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++/// Run a stateful prediction asynchronously.+///+/// Use this method to run predictions on a stateful model.+///+/// Do not request a prediction while another prediction that shares the same state is in-flight, otherwise the behavior is undefined.+///+/// ```swift+/// let state = model.newState()+/// let prediction = try await model.prediction(from: inputFeatures, using: state)+/// ```+///+/// - Parameters+/// - input: The input features to make a prediction from.+/// - state: The state object created by `newState()` method.+/// - options: Prediction options to modify how the prediction is run.+/// - completionHandler: A block that will be invoked once the prediction has completed successfully or unsuccessfully. On success, it is invoked with a valid model output. On failure, it is invoked with a nil output and NSError+- (void)predictionFromFeatures:(id<MLFeatureProvider>)inputFeatures+ usingState:(MLState *)state+ options:(MLPredictionOptions *)options+ completionHandler:(void (^)(_Nullable id<MLFeatureProvider> output, NSError * _Nullable error))completionHandler+ API_AVAILABLE(macos(16.0), ios(18.0), watchos(11.0), tvos(18.0))+ NS_REFINED_FOR_SWIFT NS_SWIFT_DISABLE_ASYNC;++@end++NS_ASSUME_NONNULL_END+diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h2024-03-22 20:19:40+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h2024-05-30 05:38:48@@ -55,35 +55,46 @@ configuration:(MLModelConfiguration *)configuration completionHandler:(void (^)(MLModel * _Nullable model, NSError * _Nullable error))handler API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0)) NS_REFINED_FOR_SWIFT NS_SWIFT_DISABLE_ASYNC;-/// Convenience method to run a prediction synchronously with default prediction options.+/// Run a prediction on a model synchronously.+///+/// This is a convenience overload method of `prediction(from:options:)` that uses the default prediction options.+///+/// - Parameters+/// - input: The input features to make a prediction from.+/// - error: The output parameter to be filled with error information on failure.+/// - Returns: The output features from the prediction. - (nullable id<MLFeatureProvider>)predictionFromFeatures:(id<MLFeatureProvider>)input- error:(NSError **)error;+ error:(NSError * __autoreleasing *)error;-/*!- Run a prediction on a model synchronously-- @param input The input features to make a prediction from- @param options Prediction options to modify how the prediction is run- @param error The out parameter for error when nil is returned. On success, it is nil- @returns The output features from the prediction-*/+/// Run a prediction on a model synchronously+///+/// - Parameters+/// - input: The input features to make a prediction from.+/// - options: Prediction options to modify how the prediction is run.+/// - error: The output parameter to be filled with error information on failure.+/// - Returns: The output features from the prediction. - (nullable id<MLFeatureProvider>)predictionFromFeatures:(id<MLFeatureProvider>)input options:(MLPredictionOptions *)options error:(NSError **)error;-/// Convenience method to run a prediction asynchronously with default prediction options.+/// Run a prediction on a model asynchronously.+///+/// This is a convenience overload method of `prediction(from:options:) async` that uses the default prediction options.+///+/// - Parameters+/// - input: The input features to make a prediction from.+/// - completionHandler: A block that will be invoked once the prediction has completed successfully or unsuccessfully. On success, it is invoked with a valid model output. On failure, it is invoked with a nil output and NSError - (void)predictionFromFeatures:(id<MLFeatureProvider>)input completionHandler:(void (^)(_Nullable id<MLFeatureProvider> output, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0)) NS_REFINED_FOR_SWIFT NS_SWIFT_DISABLE_ASYNC;-/*!- Run a prediction on a model asynchronously.-- @param input The input features to make a prediction from- @param options Prediction options to modify how the prediction is run- @param completionHandler A block that will be invoked once the prediction has completed successfully or unsuccessfully. On success, it is invoked with a valid model output. On failure, it is invoked with a nil output and NSError-*/+/// Run a prediction on a model asynchronously.+///+/// - Parameters+/// - input: The input features to make a prediction from.+/// - options: Prediction options to modify how the prediction is run.+/// - completionHandler: A block that will be invoked once the prediction has completed successfully or unsuccessfully. On success, it is invoked with a valid model output. On failure, it is invoked with a nil output and NSError - (void)predictionFromFeatures:(id<MLFeatureProvider>)input options:(MLPredictionOptions *)options completionHandler:(void (^)(_Nullable id<MLFeatureProvider> output, NSError * _Nullable error))completionHandlerdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelAsset.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelAsset.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelAsset.h2024-04-13 20:21:38+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelAsset.h2024-05-30 02:24:05@@ -4,24 +4,96 @@ // // Copyright © 2022 Apple Inc. All rights reserved. //+#import <CoreML/MLModelDescription.h>-#import <Foundation/Foundation.h>- NS_ASSUME_NONNULL_BEGIN+/// A compiled model asset.+///+/// `MLModelAsset` is an abstraction of a compiled model, which can be:+///+/// - `.mlmodelc` bundle on the file system+/// - In-memory model specification+///+/// It provides the unified interface to query the model description and to instantiate `MLModel`.+///+/// ```swift+/// // Creates an object.+/// let modelAsset = MLModelAsset(url: modelURL)+///+/// // Query the model description+/// let description = try await modelAsset.modelDescription+///+/// // Query the list of functions in the model asset.+/// let functionNames = try await modelAsset.functionNames+///+/// // Query the model description of a specific function.+/// let descriptionOfMyFunction = try await modelAsset.modelDescription(of: "MyFunction")+///+/// // Instantiate `MLModel` for "MyFunction".+/// let modelConfiguration = MLModelConfiguration()+/// modelConfiguration.functionName = "MyFunction"+/// let model = try await MLModel.load(asset: modelAsset, configuration: modelConfiguration)+/// ``` ML_EXPORT API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) @interface MLModelAsset : NSObject-/*!- * Construct an optimized model asset from the contents of specification data.- *- * @param specificationData Contents of .mlmodel as a data blob.- * @param error When the model asset creation fails error is populated with the reason for failure.- *- */+/// Construct an optimized model asset from the contents of specification data.+///+/// - Parameters:+/// - specificationData: Contents of .mlmodel as a data blob.+/// - error: When the model asset creation fails error is populated with the reason for failure. + (nullable instancetype)modelAssetWithSpecificationData:(NSData *)specificationData error:(NSError * _Nullable __autoreleasing *)error API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NAME(init(specification:));++/// Constructs a ModelAsset from a compiled model URL.+///+/// - Parameters:+/// - compiledModelURL: Location on the disk where the model asset is present.+/// - error: Errors if the model asset is not loadable.+///+/// - Returns: a model asset or nil if there is an error.++ (nullable instancetype)modelAssetWithURL:(NSURL *)compiledModelURL+ error:(NSError **)error API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++/// The default model descripton.+///+/// Use this method to get the description of the model such as the feature descriptions, the model author, and other metadata.+///+/// For the multi-function model asset, this method vends the description for the default function. Use `modelDescription(for:)` to get the model description of other functions.+///+/// ```swift+/// let modelAsset = try MLModelAsset(url: modelURL)+/// let modelDescription = try await modelAsset.modelDescription()+/// print(modelDescription)+/// ```+- (void)modelDescriptionWithCompletionHandler:(void (^)(MLModelDescription * _Nullable modelDescription, NSError * _Nullable error))handler API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0)) NS_SWIFT_ASYNC_NAME(getter:modelDescription());++/// The model descripton for a specified function.+///+/// Use this method to get the description of the model such as the feature descriptions, the model author, and other metadata.+///+/// ```swift+/// let modelAsset = try MLModelAsset(url: modelURL)+/// let modelDescription = try await modelAsset.modelDescription(of: "my_function")+/// print(modelDescription)+/// ```+- (void)modelDescriptionOfFunctionNamed:(NSString *)functionName+ completionHandler:(void (^)(MLModelDescription * _Nullable modelDescription, NSError * _Nullable error))handler API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0)) NS_SWIFT_ASYNC_NAME(modelDescription(of:));++/// The list of function names in the model asset.+///+/// Some model types (e.g. ML Program) supports multiple functions. Use this method to query the function names.+///+/// The method vends the empty array when the model doesn't use the multi-function configuration.+///+/// ```swift+/// let modelAsset = try MLModelAsset(url: modelURL)+/// let functionNames = try await modelAsset.functionNames+/// print(functionNames) // For example, ["my_function1", "my_function2"];+/// ```+- (void)functionNamesWithCompletionHandler:(void (^)(NSArray<NSString *> * _Nullable functionNames, NSError * _Nullable error))handler API_UNAVAILABLE(macos, ios, watchos, tvos) NS_SWIFT_ASYNC_NAME(getter:functionNames()); // cannot construct MLModelAsset without model specification data. - (instancetype)init NS_UNAVAILABLE;diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollection.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollection.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollection.h2024-04-13 20:21:38+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollection.h2024-05-30 02:24:05@@ -16,18 +16,18 @@ * * A collection of models managed as part of Core ML Model Deployment. */-API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4))API_UNAVAILABLE(tvos, watchos)+MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4))API_UNAVAILABLE(tvos, watchos) ML_EXPORT @interface MLModelCollection : NSObject /// The identifier of the model collection you want to access, as configured in the Core ML Model Deployment dashboard.-@property (readonly, nonatomic, copy) NSString *identifier API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+@property (readonly, nonatomic, copy) NSString *identifier MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); /// Information about the models downloaded in the collection, or an empty dictionary if the collection has not been downloaded.-@property (readonly, nonatomic, copy) NSDictionary<NSString *, MLModelCollectionEntry *> *entries API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+@property (readonly, nonatomic, copy) NSDictionary<NSString *, MLModelCollectionEntry *> *entries MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); /// The identifier for the currently downloaded deployment, corresponding to a recent deployment on the Core ML Model Deployment dashboard.-@property (readonly, nonatomic, copy) NSString *deploymentID API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+@property (readonly, nonatomic, copy) NSString *deploymentID MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); /*! Request access to a model collection. If the collection is not downloaded on the device, it is requested@@ -42,7 +42,7 @@ */ + (NSProgress *)beginAccessingModelCollectionWithIdentifier:(NSString *)identifier completionHandler:(void (^)(MLModelCollection *_Nullable modelCollection, NSError *_Nullable error))completionHandler NS_REFINED_FOR_SWIFT- API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+ MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); /*! End access to a model collection. This informs the system you have finished accessing the models within the collection.@@ -54,7 +54,7 @@ */ + (void)endAccessingModelCollectionWithIdentifier:(NSString *)identifier completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler NS_REFINED_FOR_SWIFT NS_SWIFT_ASYNC_NAME(endAccessing(identifier:))- API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+ MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); - (instancetype)init NS_UNAVAILABLE;@@ -63,9 +63,8 @@ @end /// Notification posted when the model collection has changed.-API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4))API_UNAVAILABLE(tvos, watchos)-API_UNAVAILABLE(tvos, watchos)+MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4))API_UNAVAILABLE(tvos, watchos) ML_EXPORT-NSNotificationName const MLModelCollectionDidChangeNotification API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+NSNotificationName const MLModelCollectionDidChangeNotification MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollectionEntry.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollectionEntry.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollectionEntry.h2024-04-13 20:21:39+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelCollectionEntry.h2024-05-30 02:24:06@@ -8,22 +8,60 @@ #import <Foundation/Foundation.h> #import <CoreML/MLExport.h>+#import <Availability.h>+#import <AvailabilityMacros.h>+#import <AvailabilityVersions.h>++#if TARGET_OS_OSX && defined(__MAC_OS_X_VERSION_MIN_REQUIRED)+ #if (__MAC_OS_X_VERSION_MIN_REQUIRED >= 150000 /* __MAC_15_0 */)+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(macos)+ #else+ #define MODELCOLLECTION_SUNSET(...) API_DEPRECATED(__VA_ARGS__)+ #endif+#elif TARGET_OS_IOS && defined(__IPHONE_OS_VERSION_MIN_REQUIRED)+ #if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 180000)+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(ios)+ #else+ #define MODELCOLLECTION_SUNSET(...) API_DEPRECATED(__VA_ARGS__)+ #endif+#elif TARGET_OS_WATCH && defined(__WATCH_OS_VERSION_MIN_REQUIRED)+ #if (__WATCH_OS_VERSION_MIN_REQUIRED >= 110000 /* __WATCHOS_11_0 */)+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(watchos)+ #else+ #define MODELCOLLECTION_SUNSET(...) API_DEPRECATED(__VA_ARGS__)+ #endif+#elif TARGET_OS_TV && defined(__TV_OS_VERSION_MIN_REQUIRED)+ #if (__TV_OS_VERSION_MIN_REQUIRED >= 180000 /* __TVOS_18_0 */)+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(tvos)+ #else+ #define MODELCOLLECTION_SUNSET(...) API_DEPRECATED(__VA_ARGS__)+ #endif+#elif TARGET_OS_VISION+ #if (__VISION_OS_VERSION_MIN_REQUIRED >= 20000 /* __VISIONOS_2_0 */)+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(visionos)+ #else+ #define MODELCOLLECTION_SUNSET(...) API_DEPRECATED(__VA_ARGS__)+ #endif+#else+ #define MODELCOLLECTION_SUNSET(...) API_UNAVAILABLE(__VA_ARGS__)+#endif+ NS_ASSUME_NONNULL_BEGIN /*! * MLModelCollectionEntry * Information about a model in a model collection. */-API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4))+MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)) API_UNAVAILABLE(tvos, watchos) ML_EXPORT @interface MLModelCollectionEntry : NSObject-@property (readonly, nonatomic) NSString *modelIdentifier API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+@property (readonly, nonatomic) NSString *modelIdentifier MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));-@property (readonly, nonatomic) NSURL *modelURL API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+@property (readonly, nonatomic) NSURL *modelURL MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));-- (BOOL)isEqualToModelCollectionEntry:(MLModelCollectionEntry *)entry API_DEPRECATED("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4));+- (BOOL)isEqualToModelCollectionEntry:(MLModelCollectionEntry *)entry MODELCOLLECTION_SUNSET("Use Background Assets or NSURLSession instead.", macos(11.0, 14.4), ios(14.0, 17.4)); - (instancetype)init NS_UNAVAILABLE;diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelConfiguration.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelConfiguration.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelConfiguration.h2024-04-13 20:21:39+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelConfiguration.h2024-05-30 02:24:06@@ -73,4 +73,22 @@ @end+API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0))+ML_EXPORT+@interface MLModelConfiguration (MultiFunctions)++/// Function name that `MLModel` will use.+///+/// Some model types (e.g. ML Program) supports multiple functions in a model asset, where each `MLModel` instance is associated with a particular function.+///+/// Use `MLModelAsset` to get the list of available functions. Use `nil` to use a default function.+///+/// ```swift+/// let configuration = MLModelConfiguration()+/// configuration.functionName = "my_function"+/// ```+@property (readwrite, nullable, copy, nonatomic) NSString *functionName API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++@end+ NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelDescription.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelDescription.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelDescription.h2024-04-13 20:21:39+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModelDescription.h2024-05-30 02:24:06@@ -15,10 +15,8 @@ @class MLParameterKey; @class MLParameterDescription;-/*!- * A description of a model containing input and output feature descriptions, optionally outputted features- * with special meaning and metadata.- */+/// A description of a model containing input, output, and state feature descriptions, optionally outputted features+/// with special meaning and metadata. API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0)) ML_EXPORT @interface MLModelDescription : NSObject <NSSecureCoding>@@ -28,6 +26,9 @@ /// Description of the outputs from the model @property (readonly, nonatomic) NSDictionary<NSString *, MLFeatureDescription *> *outputDescriptionsByName;++/// Description of the state features.+@property (readonly, nonatomic) NSDictionary<NSString *, MLFeatureDescription *> *stateDescriptionsByName API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0)); /// Name of the primary target / predicted output feature in the output descriptions @property (readonly, nullable, nonatomic, copy) NSString *predictedFeatureName;diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h2024-03-22 20:19:40+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h2024-05-30 05:06:53@@ -76,7 +76,7 @@ /*! * Create by wrapping a pixel buffer. *- * Use this initializer to create IOSurface backed MLMultiArray, which can reduce the inference latency by avoiding the buffer copy.+ * Use this initializer to create an IOSurface backed MLMultiArray, which can reduce the inference latency by avoiding the buffer copy. * * The instance will own the pixel buffer and release it on the deallocation. *diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLState.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLState.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLState.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLState.h2024-05-30 02:24:04@@ -0,0 +1,64 @@+//+// MLState.h+// CoreML+//+// Copyright © 2023 Apple Inc. All rights reserved.+//++#import <CoreML/MLExport.h>+#import <Foundation/Foundation.h>++@class MLMultiArray;++NS_ASSUME_NONNULL_BEGIN++/// Handle to the state buffers.+///+/// A stateful model maintains a state from one prediction to another by storing the information in the state buffers. To use such a model, the client must request the model to create state buffers and get `MLState` object, which is the handle to those buffers. Then, at the prediction time, pass the `MLState` object in one of the stateful prediction functions.+///+/// ```swift+/// // Load a stateful model+/// let modelAsset = try MLModelAsset(url: modelURL)+/// let model = try await MLModel.load(asset: modelAsset, configuration: MLModelConfiguration())+///+/// // Request a state+/// let state = model.newState()+///+/// // Run predictions+/// for _ in 0 ..< 42 {+/// _ = try await model.prediction(from: inputFeatures, using: state)+/// }+///+/// // Access the state buffer.+/// state.withMultiArray(for: "accumulator") { stateMultiArray in+/// ...+/// }+/// ```+///+/// The object is a handle to the state buffers. The client shall not read or write the buffers while a prediction is in-flight.+///+/// Each stateful prediction that uses the same `MLState` must be serialized. Otherwise, if two such predictions run concurrently, the behavior is undefined.+///+API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0))+ML_EXPORT NS_SWIFT_SENDABLE+__attribute__((objc_subclassing_restricted))+@interface MLState : NSObject++/// Gets a mutable view into a state buffer.+///+/// The underlying state buffer's address can differ for each call; one shall not access the state buffer outside of the closure.+///+/// - Parameters:+/// - handler: Block to access the state buffer through `MLMultiArray`.+- (void)getMultiArrayForStateNamed:(NSString *)stateName+ handler:(void (NS_NOESCAPE ^)(MLMultiArray *buffer))handler+ NS_REFINED_FOR_SWIFT+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++// This type is currently unavailable+- (instancetype)init NS_UNAVAILABLE;++ (instancetype)new NS_UNAVAILABLE;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLStateConstraint.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLStateConstraint.h--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLStateConstraint.h1970-01-01 01:00:00+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLStateConstraint.h2024-05-30 02:24:04@@ -0,0 +1,30 @@+//+// MLStateConstraint.h+// CoreML+//+// Copyright © 2024 Apple Inc. All rights reserved.+//++#import <Foundation/Foundation.h>+#import <CoreML/MLExport.h>+#import <CoreML/MLMultiArray.h>++NS_ASSUME_NONNULL_BEGIN++/// Constraint of a state feature value.+API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0))+ML_EXPORT+@interface MLStateConstraint : NSObject <NSSecureCoding>++/// The shape of the state buffer.+@property (readonly, nonatomic) NSArray<NSNumber *> *bufferShape+ NS_REFINED_FOR_SWIFT+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++/// The data type of scalars in the state buffer.+@property (readonly, nonatomic) MLMultiArrayDataType dataType+ API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0));++@end++NS_ASSUME_NONNULL_END