How to Train with Microsoft Azure Custom Vision and Roboflow
Roboflow is a tool for building robust machine learning operations pipelines for computer vision: from collecting and organizing images, annotating, training, deploying, and creating active learning pipelines to rapidly create improved model performance.
When it comes to the training step, developers should optimize for ease. Roboflow Train enables teams to one-click train a model custom to their dataset and have a production-ready API and on-device model (like for NVIDIA Jetson and Luxonis OAK). Roboflow Train also enables seamless deployment integration for ensuring active learning is built in to your machine learning operations pipeline by default – by reducing the complexity between data organization to your model's use in production, you're saving thousands of hours (and many headaches) to getting models (re)deployed to production with improvements.
And with Roboflow Pro, developers are able to one-click train models with third party services like Microsoft Azure as well. For example, some enterprises have a notable amount of Azure credits via partnerships. If you're curious how Microsoft Azure compares versus Google Cloud Vision AutoML vs Amazon Rekognition, be sure to read our benchmarking big cloud vision post:
By organizing, preprocessing, and augmenting in Roboflow – then training wherever a developer finds most helpful for their situation – teams are able to maximize the value of improving their datasets before kicking off a training job. (It is worth noting when training outside of Roboflow, the model is not as integrated with the rest of your data improvement process, which may create friction for rapid improvement.)
How to Train with Microsoft Azure Custom Vision
To get setup, we'll first add keys from your Microsoft Azure account to your Roboflow Account. Then, we'll kickoff a training job in Azure.
⚠️ This guide assumes you already have: (1) a Roboflow dataset (2) a Microsoft Azure Custom Vision project.
Let's get started!
Adding API keys from your Microsoft Azure account to your Roboflow Account
We'll add keys from our Microsoft Azure account to our Roboflow account. This will enable our Roboflow Account to seamlessly add datasets to our Azure account for training.
First, sign in to your Microsoft Azure account. You'll see the name of your Azure Custom Vision project on your dashboard.
Select your Custom Vision project (in the screenshot above, our project is called "Roboflow Example Project").
On the subsequent page, you'll have the option to click "API Key" under the first option. Do so.
That will take us to a page that has the API keys we need as well as the project endpoint.
Now, in Roboflow, we need to navigate to our Workspace Third Party API Keys settings in order to copy and paste the keys from our Azure Account to our Roboflow account.
To navigate to workspace settings, click the dropdown menu on your Workspace name in Roboflow.
In your Workspace Settings, click "Third Party Keys."
Then, we'll paste Key 1 from your Azure account into the Training-key section in your Roboflow Workspace settings. In addition, paste your endpoint from your Azure Custom Vision settings to the Endpoint field in Roboflow.
Voila! We've now linked your Roboflow Account and Microsoft Azure Custom Vision for one-click integration. This only has to be done once for the Workspace.
Training with Roboflow and Azure Custom Vision
Now that our Azure and Roboflow accounts are linked, we can one-click export data from our Roboflow account to Microsoft Azure Custom Vision.
To do so, generate a dataset version in Roboflow. By generating a version in Roboflow, you can take advantage of image augmentation, which allows you to get more out of your datasets with your existing images.
To export for training in Azure, select "Azure Custom Vision" as the export format option.
Because we completed the API key setup above, the dataset version will automatically be ported to your Azure account.
Then, click "Continue to Azure" (This link requires that you are logged into your Azure account in the same browser as your Roboflow account.)
Voila - your named dataset version (preprocessed and augmented images with annotations) are in your Azure Custom Vision Account.
From here, you can proceed to train on your dataset as you would any other Azure Custom Vision project.
Happy training!