What is an Azure Machine Learning service workspace?
The workspace is the top-level resource for Azure Machine Learning service, providing a centralized place to work with all the artifacts you create when you use Azure Machine Learning service. The workspace keeps a history of all training runs, including logs, metrics, output, and a snapshot of your scripts. You use this information to determine which training run produces the best model.
Once you have a model you like, you register it with the workspace. You then use the registered model and scoring scripts to deploy to Azure Container Instances, Azure Kubernetes Service, or to a field-programmable gate array (FPGA) as a REST-based HTTP endpoint. You can also deploy the model to an Azure IoT Edge device as a module.
A taxonomy of the workspace is illustrated in the following diagram:
The diagram shows the following components of a workspace:
- A workspace can contain Notebook VMs, cloud resources configured with the Python environment necessary to run Azure Machine Learning.
- User roles enable you to share your workspace with other users, teams or projects.
- Compute targets are used to run your experiments.
- When you create the workspace, associated resources are also created for you.
- Experiments are training runs you use to build your models. You can create and run experiments with
- Pipelines are reusable workflows for training and retraining your model.
- Datasets aid in management of the data you use for model training and pipeline creation.
- Once you have a model you want to deploy, you create a registered model.
- Use the registered model and a scoring script to create a deployment.
Tools for workspace interaction
You can interact with your workspace in the following ways:
- On the web:
- In Python using Azure Machine Learning SDK
- On the command line using the Azure Machine Learning CLI extension
Machine learning with a workspace
Machine learning tasks read and/or write artifacts to your workspace.
- Run an experiment to train a model - writes experiment run results to the workspace.
- Use automated ML to train a model - writes training results to the workspace.
- Register a model in the workspace.
- Deploy a model - uses the registered model to create a deployment.
- Create and run reusable workflows.
- View machine learning artifacts such as experiments, pipelines, models, deployments.
- Track and monitor models.
You can also perform the following workspace management tasks:
|Workspace management task||Portal||SDK||CLI|
|Create a workspace||✓||✓||✓|
|Create and manage compute resources||✓||✓||✓|
|Manage workspace access||✓||✓|
|Create a notebook VM||✓|
There are multiple ways to create a workspace.
- Use the Azure portal for a point-and-click interface to walk you through each step.
- Use the Azure Machine Learning SDK for Python to create a workspace on the fly from Python scripts or Jupiter notebooks
- Use an Azure Resource Manager template or the Azure Machine Learning CLI when you need to automate or customize the creation with corporate security standards.
- If you work in Visual Studio Code, use the VS Code extension.
When you create a new workspace, it automatically creates several Azure resources that are used by the workspace:
- Azure Container Registry: Registers docker containers that you use during training and when you deploy a model. To minimize costs, ACR is lazy-loaded until deployment images are created.
- Azure Storage account: Is used as the default datastore for the workspace. Jupyter notebooks that are used with your notebook VMs are stored here as well.
- Azure Application Insights: Stores monitoring information about your models.
- Azure Key Vault: Stores secrets that are used by compute targets and other sensitive information that's needed by the workspace.
In addition to creating new versions, you can also use existing Azure services.
To get started with Azure Machine Learning service, see: