Introduction
Integrating Custom Vision with Python code in Azure ML Studio offers far greater flexibility than using the web interface alone. While the Custom Vision portal is well suited for early experimentation, programmatic access through Python allows you to automate, scale and customise every stage of the workflow. From uploading and tagging images to training models, evaluating performance and running predictions, the Python SDK or REST API provides fine-grained control over how your models are built and used. It also makes it easier to connect with other Azure services and Python tools commonly used in research settings.
This approach is particularly valuable for researchers who need their work to be reproducible, auditable and easy to build upon. By writing code to manage the training and deployment pipeline, you can ensure that each step of the process is clearly documented and repeatable. Jupyter Notebooks within Azure ML Studio provide a flexible, cloud-based environment to combine code, narrative and results in a single shareable format. This makes it easier to collaborate with colleagues or scale your work across larger datasets and projects.
Our Example
In this learning resource, the example we will use centres around a Jupyter Notebook that you can download from the scryptIQ GitHub repository on the filepath:
With this, we will upload royalty-free wildlife images using pre-filled URLs, and use some pre-written Python code to show you how you can use Python to fully control all Custom Vision services.

The notebook is a self-contained resource, and the code is held within individual code cells, each pertaining to the individual stages to training and testing a multi-label classifier using Custom Vision. The stages include:
- Installation and imports (of the various packages required)
- Custom Vision configuration
- Creating a new project, and configuring new categories or tags
- Training a MLC classifier on open-source animal images
- Evaluating the performance of your trained classifier
- Predicting animals in a set of testing images, displaying a customised output directly in your Jupyter Notebook