Search code examples
iosobject-detectionazure-cognitive-servicescoreml

Exporting from Azure Custom vision to ios CoreML doesn't work on xcode or ios


I am using the Azure Custom Vision service customvision.ai for data labelling. I trained my data from Azure and it can detect the objects via API or via quicktesting from the customvision.ai. I exported it to CoreML by the insturctions from Microsoft's documentation, but I couldn't make it work for ios or xcode.

There is a preview tab for coreML files on xcode. The sample models I downloaded from the internet works as expected. However, I cannot get the expected results for my model from xcode, compared to the API or quicktest via website.

How can I get it work on my ios app. I am using General (compact) [S1] domain for my model.


Progress Update:

I have found a sample code from Azure's github. It works with their model. However when I change the model and config files to my ones, it throws Bad access error somewhere.

Also I recognized the exporter versions are different and there is an extra metadata_properties.json in my version. So even if the readme from the repo states any 2.x version is supported, (mine is 2.1 but their model is 2.0) I guess that sample code doesn't support the version I exported.

Can I downgrade my model's version or are there any sample swift projects for the updated version.


Solution

  • Changing the domain from General (compact) [S1] to General (compact) [S1] and feeding this new model into my project fixed everything. I don't know if this was coincidence but without replacing a single line of the code, it worked.