Demonstrate basic usage of Azure Machine Learning's Automated ML service. Implements the following:
AzureAIMLWorkspace: Azure AI ML Studio workspace helper class. generates an authenticated instance of a workspace.AzureAIMLAssetsDataset: Azure AI ML Studio data asset. Provides helpers for managing ML Studio data assets (MLTable, the format AutoML trains on), and for porting to/from kaggle data sets and local csv and Excel files.AzureAIMLStudioComputeCluster: Azure AI ML Studio Compute - compute cluster object with helpers for instantitation.AzureAIMLStudioAssetsBatchEndpoint: Azure AI ML Studio Assets - batch end point. Providers helpers for managing end points.AzureAIMLStudioAuthoringAutomatedML: Azure AI ML Studio Authoring - Automated ML. Helper class for managing life cycle of 'automated ml' jobs.
There is also an example production deployment of a model created using AutomatedML. See important deployment details, here.
Tip
Read the illustrated, step-by-step walkthrough of this repository: Getting Started With Azure ML Studio Using Python
Note the following:
-
Model training is a computationally intensive task and it is not free. You'll need a paid Azure Subscription. Expect to spend in the neighborhood of $0.10/per hour ($USD) when training models.
-
This repo runs on Python 3.14 and the Azure Machine Learning SDK v2 (
azure-ai-ml). Microsoft retired the v1 SDK (azureml-core,azureml-train-automland friends) on June 30, 2026, and v1 AutoML never supported Python later than 3.11. Code written for the v1 SDK won't run here. -
This project leverages Github Actions for automated unit tests, build, deploy, in addition to automating various administrative tasks including for example, automating updates to 3rd party package requirements. Most of these are visible from the Actions tab above.
python3 -m azure_ai.commands.help
python3 -m azure_ai.commands.workspace
python3 -m azure_ai.commands.compute_cluster cluster-name
python3 -m azure_ai.commands.dataset_from_file maths ~/Desktop/gh/fswl/azureml-example/azure_ai/tests/data/maths.csv
python3 -m azure_ai.commands.dataset_from_kaggle heptapod-titanic heptapod/titanicWorks with Linux, Windows and macOS environments.
-
Verify project requirements: Python 3.14, NPM Docker, and Docker Compose. Docker will need around 1 vCPU, 2Gib memory, and 30Gib of storage space.
-
Run
makeand add your credentials to the newly created.envfile in the root of the repo. -
Create an Azure account. See this summary for account configuration important details that you'll need to address in order for Azure AI AutomatedML batch jobs to run correctly: Azure Account Setup for AutoML
-
Add your Azure
config.jsonto the root of this project. See Azure ML Configuration Guide for detailed instructions on setting up an Azure Workspace and Subscription, and downloading yourconfig.jsonfile. -
Add your Kaggle Api key to .kaggle/kaggle.json, which you can generate from https://www.kaggle.com/settings/account.
-
Install and configure Azure cli. On Mac
brew install azure-cli. On Windows download from https://aka.ms/installazurecliwindows.az loginaz account list --output tableaz account set --subscription "your-subscription-id-or-name"
-
Initialize, build and run the application locally.
git clone https://github.com/FullStackWithLawrence/azureml-example.git
make # scaffold a .env file in the root of the repo
#
# ****************************
# STOP HERE!
# ****************************
# Review your .env file located in the project root folder.
#
make init # Initialize Python virtual environment used for code auto-completion and linting
make test # Verify that your Python virtual environment was built correctly and that
# the Azure ML SDK finds your config.json file.
#
make coverage # Run the offline unit tests (nothing is created in Azure) with a coverage report.
#
make docker-build # Build and configure all docker containers
make docker-run # Run docker containerPlease report bugs to the GitHub Issues Page for this project.
Please see:
- the Developer Setup Guide
- and these commit comment guidelines 😬😬😬 for managing CI rules for automated semantic releases.
You can also contact Lawrence McDaniel directly.