MLModelCollection beginAccessing returns empty deployments

Hi,

I'm experimenting with the new MLModelCollection stuff in Xcode 12 and iOS 14 and I'm having trouble.

I've created a Model Collection named "Collection" using the CoreML Model Deployment dashboard, added a Model to the collection, and created a deployment with an uploaded .mlarchive file. In the dashboard I can navigate to the deployment and see Model Assets, and I can download the assets (it appears to be a zip file that when opened contains weights and such). The mlmodel that I created the .mlarchive from works great when I drag and drop it into my project.

In my iOS app, following the instructions in the MLModelCollection help files, I call:
Code Block
MLModelCollection.beginAccessing(identifier: "iNatTestCollectionID", completionHandler: modelCollectionAvailable)

My modelCollectionAvailable method looks like:
Code Block
    func modelCollectionAvailable(result: Result<MLModelCollection, Error>) {
        switch result {
        case .success(let collection):
            print("Model collection `\(collection.identifier)` is available.")
            print("Model deployment id is \(collection.deploymentID)")
            print("Model collection entries are \(collection.entries)")
        case .failure(let error):
            print("got \(error) when accessing collection")
        }
    }

Unfortunately, the collection I get in the callback always has an empty deployment id and there are no entries in the collection.

I've tried waiting a few days in case there were syncing or deployment issues, but still nothing.

I do see this error in the console:
2020-11-03 15:12:27.600165-0800 ModelDeploymentTest[15009:910661] [coreml] MLModelCollection: experimentId unexpectedly not returned

But I'm not sure what that means.

Anyone have any advice?

Thanks,
alex

I'm getting the same error. Any idea what the cause is?

It appears now that the model collection api was broken and silently failed to handle models over 50mb in size. No documentation, no warnings or errors, deployments with .mlarchive files over 50mb just got lost on their way through the system.

Apple has since updated their APIs, and the uploader will reject .mlarchive files over 50mb in size.

MLModelCollection beginAccessing returns empty deployments
 
 
Q