Submit a training job in studio
There are many ways to create a training job with Azure Machine Learning. You can use the CLI (see Train models (create jobs)), the REST API (see Train models with REST (preview)), or you can use the UI to directly create a training job. In this article, you learn how to use your own data and code to train a machine learning model with a guided experience for submitting training jobs in Azure Machine Learning studio.
Important
This feature is currently in public preview. This preview version is provided without a service-level agreement, and we don't recommend it for production workloads. Certain features might not be supported or might have constrained capabilities.
For more information, see Supplemental Terms of Use for Microsoft Azure Previews.
Prerequisites
An Azure subscription. If you don't have an Azure subscription, create a free account before you begin. Try the free or paid version of Azure Machine Learning today.
An Azure Machine Learning workspace. See Create workspace resources.
Understanding of what a job is in Azure Machine Learning. See how to train models.
Get started
Sign in to Azure Machine Learning studio.
Select your subscription and workspace.
In this step, you can select your method of training, complete the rest of the submission form based on your selection, and submit the training job. Below we walk through the form with the steps for running a custom script (command job).
Configure basic settings
The first step is configuring basic information about your training job. You can proceed next if you're satisfied with the defaults we chose for you, or make changes to your desired preference.
These are the fields available:
Field | Description |
---|---|
Job name | The job name field is used to uniquely identify your job. It's also used as the display name for your job. |
Experiment name | This helps organize the job in Azure Machine Learning studio. Each job's run record is organized under the corresponding experiment in the studio's "Experiment" tab. By default, Azure puts the job in the Default experiment. |
Description | Add some text describing your job, if desired. |
Timeout | Specify number of hours the entire training job is allowed to run. Once this limit is reached the system cancels the job including any child jobs. |
Tags | Add tags to your job to help with organization. |
Training script
Next step is to upload your source code, configure any inputs or outputs required to execute the training job, and specify the command to execute your training script.
This can be a code file or a folder from your local machine or workspace's default blob storage. Azure will show the files to be uploaded after you make the selection.
Field | Description |
---|---|
Code | This can be a file or a folder from your local machine or workspace's default blob storage as your training script. Studio will show the files to be uploaded after you make the selection. |
Inputs | Specify as many inputs as needed of the following types data, integer, number, boolean, string). |
Command | The command to execute. Command-line arguments can be explicitly written into the command or inferred from other sections, specifically inputs using curly braces notation, as discussed in the next section. |
Code
The command is run from the root directory of the uploaded code folder. After you select your code file or folder, you can see the files to be uploaded. Copy the relative path to the code containing your entry point and paste it into the box labeled Enter the command to start the job.
If the code is in the root directory, you can directly refer to it in the command. For instance, python main.py
.
If the code isn't in the root directory, you should use the relative path. For example, the structure of the word language model is:
.
├── job.yml
├── data
└── src
└── main.py
Here, the source code is in the src
subdirectory. The command would be python ./src/main.py
(plus other command-line arguments).
Inputs
When you use an input in the command, you need to specify the input name. To indicate an input variable, use the form ${{inputs.input_name}}
. For instance, ${{inputs.wiki}}
. You can then refer to it in the command, for instance, --data ${{inputs.wiki}}
.
Select compute resources
Next step is to select the compute target on which you'd like your job to run. The job creation UI supports several compute types:
Compute Type | Introduction |
---|---|
Compute instance | What is an Azure Machine Learning compute instance? |
Compute cluster | What is a compute cluster? |
Attached Compute (Kubernetes cluster) | Configure and attach Kubernetes cluster anywhere (preview). |
- Select a compute type
- Select an existing compute resource. The dropdown shows the node information and SKU type to help your choice.
- For a compute cluster or a Kubernetes cluster, you may also specify how many nodes you want for the job in Instance count. The default number of instances is 1.
- When you're satisfied with your choices, choose Next.
If you're using Azure Machine Learning for the first time, you see an empty list and a link to create a new compute. For more information on creating the various types, see:
Compute Type | How to |
---|---|
Compute instance | Create an Azure Machine Learning compute instance |
Compute cluster | Create an Azure Machine Learning compute cluster |
Attached Kubernetes cluster | Attach an Azure Arc-enabled Kubernetes cluster |
Specify the necessary environment
After selecting a compute target, you need to specify the runtime environment for your job. The job creation UI supports three types of environment:
- Curated environments
- Custom environments
- Container registry image
Curated environments
Curated environments are Azure-defined collections of Python packages used in common ML workloads. Curated environments are available in your workspace by default. These environments are backed by cached Docker images, which reduce the job preparation overhead. The cards displayed in the "Curated environments" page show details of each environment. To learn more, see curated environments in Azure Machine Learning.
Custom environments
Custom environments are environments you specified yourself. You can specify an environment or reuse an environment that you already created. To learn more, see Manage software environments in Azure Machine Learning studio (preview).
Container registry image
If you don't want to use the Azure Machine Learning curated environments or specify your own custom environment, you can use a docker image from a public container registry such as Docker Hub.
Review and Create
Once you configured the job, choose Next to go to the Review page. To modify a setting, choose the pencil icon and make the change.
To launch the job, choose Submit training job. Once the job is created, Azure shows you the job details page, where you can monitor and manage your training job.
How to configure emails in the studio
To start receiving emails when your job, online endpoint, or batch endpoint is complete or if there's an issue (failed, canceled), use the following steps:
- In Azure ML studio, go to settings by selecting the gear icon.
- Select the Email notifications tab.
- Toggle to enable or disable email notifications for a specific event.