Update to the 3.0 API
Custom Vision has now reached General Availability and has undergone an API update. This update includes a few new features and, importantly, a few breaking changes:
- The Prediction API is now split into two based on the project type.
- The Vision AI Developer Kit (VAIDK) export option requires creating a project in a specific way.
- Default iterations have been removed in favor of a publish / unpublish a named iteration.
This guide will show you how to update your projects to work with the new API version. See the Release notes for a full list of the changes.
Use the updated Prediction API
The 2.x APIs used the same prediction call for both image classifiers and object detector projects. Both project types were acceptable to the PredictImage and PredictImageUrl calls. Starting with 3.0, we have split this API so that you need to match the project type to the call:
- Use ClassifyImage and ClassifyImageUrl to get predictions for image classification projects.
- Use DetectImage and DetectImageUrl to get predictions for object detection projects.
Use the new iteration publishing workflow
The 2.x APIs used the default iteration or a specified iteration ID to choose the iteration to use for prediction. Starting in 3.0, we have adopted a publishing flow whereby you first publish an iteration under a specified name from the training API. You then pass the name to the prediction methods to specify which iteration to use.
The 3.0 APIs do not use the default iteration feature. Until we deprecate the older APIs, you can continue to use the 2.x APIs to toggle an iteration as the default. These APIs will be maintained for a period of time, and you can call the UpdateIteration method to mark an iteration as default.
Publish an iteration
Once an iteration is trained, you can make it available for prediction using the PublishIteration method. To publish an iteration, you'll need the prediction resource ID, which is available on the CustomVision website's settings page.
You can also get this information from the Azure Portal by going to the Custom Vision Prediction resource and selecting Properties.
Once your iteration is published, apps can use it for prediction by specifying the name in their prediction API call. To make an iteration unavailable for prediction calls, use the UnpublishIteration API.