119 lines
4.9 KiB
Markdown
119 lines
4.9 KiB
Markdown
|
# Azure ML Lesson 2 Lab
|
||
|
|
||
|
## 1. Set environmental variables
|
||
|
|
||
|
1. Run VS Code in a Azure ML remote instance as shown before.
|
||
|
2. Press `File > Open Folder` and navigate to `azuremlpythonsdk-v2/` to open the exercise.
|
||
|
|
||
|
**IMPORTANT** Relative paths are assumed to be initialized from the `azuremlpythonsdk-v2` folder.
|
||
|
|
||
|
Open the file `initialize_constants.py`, there are three variables that should be updated:
|
||
|
|
||
|
- AZURE_WORKSPACE_NAME
|
||
|
|
||
|
- AZURE_RESOURCE_GROUP
|
||
|
|
||
|
- AZURE_SUBSCRIPTION_ID
|
||
|
|
||
|
Open your workspace at in `https://ml.azure.com`. At the top right, select the workspace name, then copy the workspace name, the subscription id and the resource name.
|
||
|
|
||
|
## 2. Load a workspace
|
||
|
|
||
|
Open the file `ml_client.py` and understand how a ML client object is loaded or created. In this lab, the namespace was already created. Just fill the name of the variables from `initialize_constants.py`.
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
## 3. Load a Compute Cluster
|
||
|
|
||
|
Open the file `compute_aml.py` and understand how a compute cluster is loaded or created. In this lab, the compute cluster was already created but some variables should be added, which are marked with `XXXX`.
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
What would happen if the compute cluster is not present?
|
||
|
|
||
|
## 4. Create a tabular dataset
|
||
|
|
||
|
Open the file `data_tabular.py` , several gaps should be filled which are marked with `XXXX`:
|
||
|
|
||
|
1. `ml_client = XXXXX()`
|
||
|
|
||
|
Hint: look into previous files.
|
||
|
|
||
|
2. How can you get the names of the datasets already registered in `if name_dataset not in [XXXXX for env in ml_client.data.list()]`
|
||
|
|
||
|
Hint: Try to get one object from the class [Data](https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.entities.data?view=azure-python) and check their attributes.
|
||
|
|
||
|
3. Which should be the `path` parameter in `path=XXXXX`?
|
||
|
|
||
|
4. Which input should you give in `ml_client.data.create_or_update(XXXXX)`?
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
## 5. Create and register an environment
|
||
|
|
||
|
Open the file `environment.py` , several gaps should be filled which are marked with `XXXX`:
|
||
|
|
||
|
1. `ml_client = XXXXX()`
|
||
|
|
||
|
Hint: look into previous files.
|
||
|
|
||
|
2. Which class should be used to register the environment?
|
||
|
|
||
|
Hint: Take a look [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-environments-v2?tabs=python)
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
## 6. Train a model from a tabular dataset using a remote compute
|
||
|
|
||
|
Open the file `azml_01_experiment_remote_compute.py` , several gaps should be filled which are marked with `XXXX`:
|
||
|
|
||
|
1. `ml_client = XXXX()`
|
||
|
|
||
|
Hint: look into previous files.
|
||
|
|
||
|
2. Complete the `latest_version_dataset` definition.
|
||
|
|
||
|
Hint: Take a look [here](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day#deploy-the-model-to-the-endpoint)
|
||
|
|
||
|
3. Complete the `Input` part.
|
||
|
|
||
|
Hint: Take a look [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-read-write-data-v2?tabs=python)
|
||
|
|
||
|
4. Complete the `command` part.
|
||
|
|
||
|
Hint: Take a look [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-read-write-data-v2?tabs=python)
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
### 7. Tune hyperparameters using a remote compute
|
||
|
|
||
|
Open the file `azml_02_hyperparameters_tuning.py` , several gaps should be filled which are marked with `XXXX`. The hyperparameter search should be defined in the following space:
|
||
|
|
||
|
- learning_rate: one of the values 0.01, 0.1, 1.0
|
||
|
|
||
|
- n_estimators: one of the values 10, 100
|
||
|
|
||
|
Hint: Use the previous file as template.
|
||
|
|
||
|
Hint: For the `Hyperdrive settings` format, look [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-sweep-in-pipeline)
|
||
|
|
||
|
Open the file `diabetes_hyperdrive/diabetes_training.py` , several gaps should be filled which are marked with `XXXX`. A Gradient Boosting classification model should be trained and the auc and the accuracy in the test set should be computed.
|
||
|
|
||
|
Hint: Use as a template the file `data/diabetes_training.py`.
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
## 8. Create a real-time inferencing service
|
||
|
|
||
|
Open the file `azml_03_realtime_inference.py` , several gaps should be filled which are marked with `XXXX`.
|
||
|
|
||
|
Hint: Take a look [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-deploy-mlflow-models?tabs=fromjob%2Cmir%2Csdk)
|
||
|
|
||
|
When finished, run this file and check that it is executed without errors.
|
||
|
|
||
|
## 9. Test the inference service
|
||
|
|
||
|
Open the file `azml_04_test_inference.py` , several gaps should be filled which are marked with `XXXX`.
|
||
|
|
||
|
Hint: Check [here](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-safely-rollout-online-endpoints?view=azureml-api-2&tabs=python)
|