From 9860764d903930d323663a1b4de5af9133b839d2 Mon Sep 17 00:00:00 2001 From: Alexandre Gattiker Date: Thu, 28 Nov 2019 18:22:41 +0100 Subject: [PATCH 1/5] Simplified build with Azure CLI; various bugfixes * Use Azure CLI tasks to remove need for variables SP_APP_ID, SP_APP_SECRET, SUBSCRIPTION_ID, TENANT_ID * Updated gettin_started.md to point out variable path to artifact (#117) * Made random hyperparameter (ridge regression alpha) a pipeline parameter, setting its value in the DevOps pipeline (#107) * Changed unit test to test actual training code (partially solves #74) * Fixed: attach_compute should set exit code after exception (#113) * Fixed scoring endpoint HTTP behavior (#110) * Fixed PipelineParameters format in call to Azure ML Extension (#118) * Fixed Model build environment for Azure Web App for containers (#119) --- .pipelines/azdo-base-pipeline.yml | 1 + .pipelines/azdo-ci-build-train.yml | 66 +++++--- code/evaluate/evaluate_model.py | 8 +- code/register/register_model.py | 48 +----- code/scoring/score.py | 12 +- code/training/train.py | 146 ++++++++++-------- docs/getting_started.md | 110 +++++++------ docs/images/release-task-createimage.PNG | Bin 0 -> 232898 bytes docs/images/release-webapp-pipeline.PNG | Bin 10362 -> 38747 bytes ml_service/pipelines/build_train_pipeline.py | 20 +-- .../pipelines/build_train_pipeline_with_r.py | 19 ++- .../build_train_pipeline_with_r_on_dbricks.py | 16 +- ml_service/pipelines/run_train_pipeline.py | 42 ++--- ml_service/pipelines/verify_train_pipeline.py | 77 +++++++++ ml_service/util/attach_compute.py | 2 +- ml_service/util/create_scoring_image.py | 17 +- ml_service/util/create_scoring_image.sh | 17 ++ ml_service/util/workspace.py | 29 ---- tests/requirements.txt | 1 + tests/unit/code_test.py | 40 +++-- 20 files changed, 358 insertions(+), 313 deletions(-) create mode 100644 docs/images/release-task-createimage.PNG create mode 100644 ml_service/pipelines/verify_train_pipeline.py create mode 100644 ml_service/util/create_scoring_image.sh delete mode 100644 ml_service/util/workspace.py create mode 100644 tests/requirements.txt diff --git a/.pipelines/azdo-base-pipeline.yml b/.pipelines/azdo-base-pipeline.yml index 926b404f..616e7011 100644 --- a/.pipelines/azdo-base-pipeline.yml +++ b/.pipelines/azdo-base-pipeline.yml @@ -10,6 +10,7 @@ steps: enabled: 'true' - script: | + pip install --user -r $(Build.SourcesDirectory)/tests/requirements.txt pytest --junitxml=$(Build.BinariesDirectory)/unit-testresults.xml $(Build.SourcesDirectory)/tests/unit displayName: 'Run unit tests' enabled: 'true' diff --git a/.pipelines/azdo-ci-build-train.yml b/.pipelines/azdo-ci-build-train.yml index d1d92d74..f81948ea 100644 --- a/.pipelines/azdo-ci-build-train.yml +++ b/.pipelines/azdo-ci-build-train.yml @@ -7,8 +7,7 @@ trigger: exclude: - docs/ - environment_setup/ - - charts/ - - ml_service/util/create_scoring_image.py + - ml_service/util/create_scoring_image.* variables: - template: azdo-variables.yml @@ -27,12 +26,15 @@ stages: timeoutInMinutes: 0 steps: - template: azdo-base-pipeline.yml - - script: | - # Invoke the Python building and publishing a training pipeline - python3 $(Build.SourcesDirectory)/ml_service/pipelines/${{ variables.BUILD_TRAIN_SCRIPT }} - failOnStderr: 'false' - env: - SP_APP_SECRET: '$(SP_APP_SECRET)' + - task: AzureCLI@1 + inputs: + azureSubscription: '$(WORKSPACE_SVC_CONNECTION)' + scriptLocation: inlineScript + inlineScript: | + set -e # fail on error + export SUBSCRIPTION_ID=$(az account show --query id -o tsv) + # Invoke the Python building and publishing a training pipeline + python $(Build.SourcesDirectory)/ml_service/pipelines/${{ variables.BUILD_TRAIN_SCRIPT }} displayName: 'Publish Azure Machine Learning Pipeline' - stage: 'Trigger_AML_Pipeline' displayName: 'Train, evaluate, register model via previously published AML pipeline' @@ -45,22 +47,34 @@ stages: container: mcr.microsoft.com/mlops/python:latest timeoutInMinutes: 0 steps: - - script: | - python $(Build.SourcesDirectory)/ml_service/pipelines/run_train_pipeline.py - # Set AMLPIPELINEID variable for next AML Pipeline task in next job - source $(Build.SourcesDirectory)/tmp.sh - echo "##vso[task.setvariable variable=AMLPIPELINEID;isOutput=true]$AMLPIPELINE_ID" - rm $(Build.SourcesDirectory)/tmp.sh + - task: AzureCLI@1 + inputs: + azureSubscription: '$(WORKSPACE_SVC_CONNECTION)' + scriptLocation: inlineScript + inlineScript: | + set -e # fail on error + export SUBSCRIPTION_ID=$(az account show --query id -o tsv) + python $(Build.SourcesDirectory)/ml_service/pipelines/run_train_pipeline.py --output_pipeline_id_file "pipeline_id.txt" --skip_train_execution + # Set AMLPIPELINEID variable for next AML Pipeline task in next job + echo "##vso[task.setvariable variable=AMLPIPELINEID;isOutput=true]$(cat pipeline_id.txt)" name: 'getpipelineid' displayName: 'Get Pipeline ID' - env: - SP_APP_SECRET: '$(SP_APP_SECRET)' + - bash: | + # Generate a hyperparameter value as a random number between 0 and 1. + # A random value is used here to make the Azure ML dashboards "interesting" when testing + # the solution sample. + alpha=$(printf "0.%03d\n" $((($RANDOM*1000)/32767))) + echo "Alpha: $alpha" + echo "##vso[task.setvariable variable=ALPHA;isOutput=true]$alpha" + name: 'getalpha' + displayName: 'Generate random value for hyperparameter alpha' - job: "Run_ML_Pipeline" dependsOn: "Get_Pipeline_ID" displayName: "Trigger ML Training Pipeline" pool: server variables: AMLPIPELINE_ID: $[ dependencies.Get_Pipeline_ID.outputs['getpipelineid.AMLPIPELINEID'] ] + ALPHA: $[ dependencies.Get_Pipeline_ID.outputs['getalpha.ALPHA'] ] steps: - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 displayName: 'Invoke ML pipeline' @@ -68,7 +82,7 @@ stages: azureSubscription: '$(WORKSPACE_SVC_CONNECTION)' PipelineId: '$(AMLPIPELINE_ID)' ExperimentName: '$(EXPERIMENT_NAME)' - PipelineParameters: '"model_name": "sklearn_regression_model.pkl"' + PipelineParameters: '"ParameterAssignments": {"model_name": "$(MODEL_NAME)", "hyperparameter_alpha": "$(ALPHA)"}' - job: "Training_Run_Report" dependsOn: "Run_ML_Pipeline" displayName: "Determine if evaluation succeeded and new model is registered" @@ -77,11 +91,16 @@ stages: container: mcr.microsoft.com/mlops/python:latest timeoutInMinutes: 0 steps: - - script: | - python $(Build.SourcesDirectory)/code/register/register_model.py --build_id $(Build.BuildId) --validate True - displayName: 'Check if new model registered' - env: - SP_APP_SECRET: '$(SP_APP_SECRET)' + - task: AzureCLI@1 + inputs: + azureSubscription: '$(WORKSPACE_SVC_CONNECTION)' + scriptLocation: inlineScript + inlineScript: | + set -e # fail on error + export SUBSCRIPTION_ID=$(az account show --query id -o tsv) + python $(Build.SourcesDirectory)/ml_service/pipelines/verify_train_pipeline.py --build_id $(Build.BuildId) --model_name "$(MODEL_NAME)" --output_model_version_file "model_version.txt" + echo "##vso[task.setvariable variable=MODEL_VERSION;isOutput=true]$(cat model_version.txt)" + displayName: "Determine if evaluation succeeded and new model is registered" - task: CopyFiles@2 displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)' inputs: @@ -89,10 +108,11 @@ stages: TargetFolder: '$(Build.ArtifactStagingDirectory)' Contents: | code/scoring/** + ml_service/util/** - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact' inputs: ArtifactName: 'mlops-pipelines' publishLocation: 'container' pathtoPublish: '$(Build.ArtifactStagingDirectory)' - TargetPath: '$(Build.ArtifactStagingDirectory)' \ No newline at end of file + TargetPath: '$(Build.ArtifactStagingDirectory)' diff --git a/code/evaluate/evaluate_model.py b/code/evaluate/evaluate_model.py index 2c01c1e0..f59a87fd 100644 --- a/code/evaluate/evaluate_model.py +++ b/code/evaluate/evaluate_model.py @@ -27,7 +27,6 @@ import sys from azureml.core import Run, Workspace, Experiment import argparse -from azureml.core.authentication import ServicePrincipalAuthentication import traceback run = Run.get_context() @@ -48,16 +47,11 @@ build_id = os.environ.get('BUILD_BUILDID') # run_id useful to query previous runs run_id = "57fee47f-5ae8-441c-bc0c-d4c371f32d70" - service_principal = ServicePrincipalAuthentication( - tenant_id=tenant_id, - service_principal_id=app_id, - service_principal_password=app_secret) aml_workspace = Workspace.get( name=workspace_name, subscription_id=subscription_id, - resource_group=resource_group, - auth=service_principal + resource_group=resource_group ) ws = aml_workspace exp = Experiment(ws, experiment_name) diff --git a/code/register/register_model.py b/code/register/register_model.py index bdef3600..fff5c7b6 100644 --- a/code/register/register_model.py +++ b/code/register/register_model.py @@ -29,7 +29,6 @@ import traceback from azureml.core import Run, Experiment, Workspace from azureml.core.model import Model as AMLModel -from azureml.core.authentication import ServicePrincipalAuthentication def main(): @@ -37,37 +36,23 @@ def main(): run = Run.get_context() if (run.id.startswith('OfflineRun')): from dotenv import load_dotenv - sys.path.append(os.path.abspath("./code/util")) # NOQA: E402 - from model_helper import get_model_by_tag # For local development, set values in this section load_dotenv() workspace_name = os.environ.get("WORKSPACE_NAME") experiment_name = os.environ.get("EXPERIMENT_NAME") resource_group = os.environ.get("RESOURCE_GROUP") subscription_id = os.environ.get("SUBSCRIPTION_ID") - tenant_id = os.environ.get("TENANT_ID") - model_name = os.environ.get("MODEL_NAME") - app_id = os.environ.get('SP_APP_ID') - app_secret = os.environ.get('SP_APP_SECRET') build_id = os.environ.get('BUILD_BUILDID') # run_id useful to query previous runs run_id = "bd184a18-2ac8-4951-8e78-e290bef3b012" - service_principal = ServicePrincipalAuthentication( - tenant_id=tenant_id, - service_principal_id=app_id, - service_principal_password=app_secret) - aml_workspace = Workspace.get( name=workspace_name, subscription_id=subscription_id, - resource_group=resource_group, - auth=service_principal + resource_group=resource_group ) ws = aml_workspace exp = Experiment(ws, experiment_name) else: - sys.path.append(os.path.abspath("./util")) # NOQA: E402 - from model_helper import get_model_by_tag ws = run.experiment.workspace exp = run.experiment run_id = 'amlcompute' @@ -89,12 +74,6 @@ def main(): help="Name of the Model", default="sklearn_regression_model.pkl", ) - parser.add_argument( - "--validate", - type=str, - help="Set to true to only validate if model is registered for run", - default=False, - ) args = parser.parse_args() if (args.build_id is not None): @@ -103,30 +82,13 @@ def main(): run_id = args.run_id if (run_id == 'amlcompute'): run_id = run.parent.id - if (args.validate is not None): - validate = args.validate model_name = args.model_name - if (validate): - try: - tag_name = 'BuildId' - model = get_model_by_tag( - model_name, tag_name, build_id, exp.workspace) - if (model is not None): - print("Model was registered for this build.") - if (model is None): - print("Model was not registered for this run.") - sys.exit(1) - except Exception as e: - print(e) - print("Model was not registered for this run.") - sys.exit(1) + if (build_id is None): + register_aml_model(model_name, exp, run_id) else: - if (build_id is None): - register_aml_model(model_name, exp, run_id) - else: - run.tag("BuildId", value=build_id) - register_aml_model(model_name, exp, run_id, build_id) + run.tag("BuildId", value=build_id) + register_aml_model(model_name, exp, run_id, build_id) def model_already_registered(model_name, exp, run_id): diff --git a/code/scoring/score.py b/code/scoring/score.py index dafe6bee..716cd0e4 100644 --- a/code/scoring/score.py +++ b/code/scoring/score.py @@ -39,14 +39,10 @@ def init(): def run(raw_data): - try: - data = json.loads(raw_data)["data"] - data = numpy.array(data) - result = model.predict(data) - return json.dumps({"result": result.tolist()}) - except Exception as e: - result = str(e) - return json.dumps({"error": result}) + data = json.loads(raw_data)["data"] + data = numpy.array(data) + result = model.predict(data) + return {"result": result.tolist()} if __name__ == "__main__": diff --git a/code/training/train.py b/code/training/train.py index 5f8c19ef..05c58683 100644 --- a/code/training/train.py +++ b/code/training/train.py @@ -31,73 +31,83 @@ from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split from sklearn.externals import joblib -import numpy as np - - -parser = argparse.ArgumentParser("train") -parser.add_argument( - "--build_id", - type=str, - help="The build ID of the build triggering this pipeline run", -) -parser.add_argument( - "--model_name", - type=str, - help="Name of the Model", - default="sklearn_regression_model.pkl", -) - -args = parser.parse_args() - -print("Argument 1: %s" % args.build_id) -print("Argument 2: %s" % args.model_name) - -model_name = args.model_name -build_id = args.build_id - -run = Run.get_context() -exp = run.experiment -ws = run.experiment.workspace - -X, y = load_diabetes(return_X_y=True) -columns = ["age", "gender", "bmi", "bp", "s1", "s2", "s3", "s4", "s5", "s6"] -X_train, X_test, y_train, y_test = train_test_split( - X, y, test_size=0.2, random_state=0) -data = {"train": {"X": X_train, "y": y_train}, - "test": {"X": X_test, "y": y_test}} - -print("Running train.py") - -# Randomly pic alpha -alphas = np.arange(0.0, 1.0, 0.05) -alpha = alphas[np.random.choice(alphas.shape[0], 1, replace=False)][0] -print(alpha) -run.log("alpha", alpha) -run.parent.log("alpha", alpha) -reg = Ridge(alpha=alpha) -reg.fit(data["train"]["X"], data["train"]["y"]) -preds = reg.predict(data["test"]["X"]) -run.log("mse", mean_squared_error( - preds, data["test"]["y"]), description="Mean squared error metric") -run.parent.log("mse", mean_squared_error( - preds, data["test"]["y"]), description="Mean squared error metric") - -with open(model_name, "wb") as file: + + +def train_model(run, data, alpha): + run.log("alpha", alpha) + run.parent.log("alpha", alpha) + reg = Ridge(alpha=alpha) + reg.fit(data["train"]["X"], data["train"]["y"]) + preds = reg.predict(data["test"]["X"]) + run.log("mse", mean_squared_error( + preds, data["test"]["y"]), description="Mean squared error metric") + run.parent.log("mse", mean_squared_error( + preds, data["test"]["y"]), description="Mean squared error metric") + return reg + + +def main(): + print("Running train.py") + + parser = argparse.ArgumentParser("train") + parser.add_argument( + "--build_id", + type=str, + help="The build ID of the build triggering this pipeline run", + ) + parser.add_argument( + "--model_name", + type=str, + help="Name of the Model", + default="sklearn_regression_model.pkl", + ) + parser.add_argument( + "--alpha", + type=float, + default=0.5, + help=("Ridge regression regularization strength hyperparameter; " + "must be a positive float.") + ) + + args = parser.parse_args() + + print("Argument [build_id]: %s" % args.build_id) + print("Argument [model_name]: %s" % args.model_name) + print("Argument [alpha]: %s" % args.alpha) + + model_name = args.model_name + build_id = args.build_id + alpha = args.alpha + + run = Run.get_context() + + X, y = load_diabetes(return_X_y=True) + X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=0.2, random_state=0) + data = {"train": {"X": X_train, "y": y_train}, + "test": {"X": X_test, "y": y_test}} + + reg = train_model(run, data, alpha) + joblib.dump(value=reg, filename=model_name) -# upload model file explicitly into artifacts for parent run -run.parent.upload_file(name="./outputs/" + model_name, - path_or_stream=model_name) -print("Uploaded the model {} to experiment {}".format( - model_name, run.experiment.name)) -dirpath = os.getcwd() -print(dirpath) -print("Following files are uploaded ") -print(run.parent.get_file_names()) - -# Add properties to identify this specific training run -run.tag("BuildId", value=build_id) -run.tag("run_type", value="train") -print(f"tags now present for run: {run.tags}") - -run.complete() + # upload model file explicitly into artifacts for parent run + run.parent.upload_file(name="./outputs/" + model_name, + path_or_stream=model_name) + print("Uploaded the model {} to experiment {}".format( + model_name, run.experiment.name)) + dirpath = os.getcwd() + print(dirpath) + print("Following files are uploaded ") + print(run.parent.get_file_names()) + + # Add properties to identify this specific training run + run.tag("BuildId", value=build_id) + run.tag("run_type", value="train") + print(f"tags now present for run: {run.tags}") + + run.complete() + + +if __name__ == '__main__': + main() diff --git a/docs/getting_started.md b/docs/getting_started.md index db4a4938..8cff7ec1 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -10,35 +10,25 @@ following the instructions [here](https://docs.microsoft.com/en-us/azure/devops/ If you already have Azure DevOps account, create a [new project](https://docs.microsoft.com/en-us/azure/devops/organizations/projects/create-project?view=azure-devops). -## Create a Service Principal to login to Azure +## Create an ARM Service Connection to deploy resources -To create service principal, register an application entity in Azure Active -Directory (Azure AD) and grant it the Contributor or Owner role of the -subscription or the resource group where the web service belongs to. See -[how to create service principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal) and assign permissions to manage Azure -resource. +The repository includes a DevOps pipeline to deploy the Azure ML workspace and associated resources through Azure Resource Manager. -Please make note of the following values after creating a service principal, we -will need them in subsequent steps: - -* Application (client) ID -* Directory (tenant) ID -* Application Secret - -**Note:** You must have sufficient permissions to register an application with -your Azure AD tenant, and assign the application to a role in your Azure -subscription. Contact your subscription administrator if you don't have the -permissions. Normally a subscription admin can create a Service principal and -can provide you the details. +The pipeline requires an **Azure Resource Manager** +[service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection). +Given this service connection, you will be able to run the IaC pipeline +and have the required permissions to generate resources. -## Create an Azure DevOps Azure ML Workspace Service Connection -Install the **Azure Machine Learning** extension to your organization from the -[marketplace](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml), -so that you can set up a service connection to your AML workspace. +![create service connection](./images/create-rm-service-connection.png) -Create a service connection to your ML workspace via the [Azure DevOps Azure ML task instructions](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) to be able to execute the Azure ML training pipeline. The connection name specified here needs to be used for the value of the `WORKSPACE_SVC_CONNECTION` set in the variable group below. +Use **``AzureResourceConnection``** as the connection name, since it is used +in the IaC pipeline definition. Leave the **``Resource Group``** field empty. -**Note:** Creating service connection using Azure Machine Learning extension requires 'Owner' or 'User Access Administrator' permissions on the Workspace. +**Note:** Creating the ARM service connection scope requires 'Owner' or 'User Access Administrator' permissions on the subscription. +You must also have sufficient permissions to register an application with +your Azure AD tenant, or receive the ID and secret of a service principal +from your Azure AD Administrator. That principal must have 'Contributor' +permissions on the subscription. ## Create a Variable Group for your Pipelines @@ -62,16 +52,10 @@ The variable group should contain the following required variables: | --------------------------- | -----------------------------------| | BASE_NAME | [unique base name] | | LOCATION | centralus | -| SP_APP_ID | | -| SP_APP_SECRET | | -| SUBSCRIPTION_ID | | -| TENANT_ID | | | RESOURCE_GROUP | | | WORKSPACE_NAME | mlops-AML-WS | | WORKSPACE_SVC_CONNECTION | aml-workspace-connection | -Mark **SP_APP_SECRET** variable as a secret one. - **Note:** The **WORKSPACE_NAME** parameter is used for the Azure Machine Learning Workspace creation. You can provide here an existing AML Workspace if you have one. @@ -93,7 +77,10 @@ There are more variables used in the project. They're defined in two places one ### Local configuration -In order to configure the project locally you have to create a copy from `.env.example` to the root and name it `.env`. Fill out all missing values and adjust the existing ones to your needs. Please be aware that the local environment also needs access to the Azure subscription so you have to provide the credentials of your service principal and Azure account information here as well. +In order to configure the project locally you have to create a copy from `.env.example` to the root and name it `.env`. Fill out all missing values and adjust the existing ones to your needs. + +For local development, you will also need to [install the Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli). Azure CLI will be used to log you in interactively. +Please be aware that the local environment also needs access to the Azure subscription so you have to have Contributor access on the Azure ML Workspace. ### Azure DevOps configuration @@ -103,7 +90,6 @@ Up until now you should have: * Forked (or cloned) the repo * Created a devops account or use an existing one -* Got service principal details and subscription id * A variable group with all configuration values ## Create Resources with Azure Pipelines @@ -118,18 +104,6 @@ To set up this pipeline, you will need to do the following steps: 1. Create an Azure Resource Manager Service Connection 1. Create a Build IaC Pipeline -### Create an Azure Resource Manager Service Connection - -The pipeline requires an **Azure Resource Manager** -[service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection). -Given this service connection, you will be able to run the IaC pipeline -and have the required permissions to generate resources. - -![create service connection](./images/create-rm-service-connection.png) - -Use **``AzureResourceConnection``** as the connection name, since it is used -in the IaC pipeline definition. Leave the **``Resource Group``** field empty. - ### Create a Build IaC Pipeline In your DevOps project, create a build pipeline from your forked **GitHub** @@ -152,8 +126,18 @@ Check out created resources in the [Azure Portal](portal.azure.com): Alternatively, you can also use a [cleaning pipeline](../environment_setup/iac-remove-environment.yml) that removes resources created for this project or you can just delete a resource group in the [Azure Portal](portal.azure.com). -Once this resource group is created, be sure that the Service Principal you have -created has access to this resource group. +## Create an Azure DevOps Azure ML Workspace Service Connection +Install the **Azure Machine Learning** extension to your organization from the +[marketplace](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml), +so that you can set up a service connection to your AML workspace. + +Create a service connection to your ML workspace via the [Azure DevOps Azure ML task instructions](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) to be able to execute the Azure ML training pipeline. The connection name specified here needs to be used for the value of the `WORKSPACE_SVC_CONNECTION` set in the variable group below. + +**Note:** Creating service connection with Azure Machine Learning workspace scope requires 'Owner' or 'User Access Administrator' permissions on the Workspace. +You must also have sufficient permissions to register an application with +your Azure AD tenant, or receive the ID and secret of a service principal +from your Azure AD Administrator. That principal must have Contributor +permissions on the Azure ML Workspace. ## Set up Build, Release Trigger, and Release Deployment Pipelines @@ -241,10 +225,10 @@ Specify task parameters as it is shown in the table below: | ----------------------------- | ---------------------------------------------------------------------------------------------------- | | Display Name | Azure ML Model Deploy | | Azure ML Workspace | mlops-AML-WS | -| Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/inference_config.yml` | +| Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/inference_config.yml`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | | Model Deployment Target | Azure Container Instance | | Deployment Name | mlopspython-aci | -| Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/deployment_config_aci.yml` | +| Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/deployment_config_aci.yml`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | | Overwrite existing deployment | X | In a similar way, create a stage **Prod (AKS)** and add a single task to the job @@ -259,11 +243,11 @@ Specify task parameters as it is shown in the table below: | --------------------------------- | ---------------------------------------------------------------------------------------------------- | | Display Name | Azure ML Model Deploy | | Azure ML Workspace | mlops-AML-WS | -| Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/inference_config.yml` | +| Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/inference_config.yml`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | | Model Deployment Target | Azure Kubernetes Service | | Select AKS Cluster for Deployment | YOUR_DEPLOYMENT_K8S_CLUSTER | | Deployment Name | mlopspython-aks | -| Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/deployment_config_aks.yml` | +| Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/code/scoring/deployment_config_aks.yml`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | | Overwrite existing deployment | X | **Note:** Creating of a Kubernetes cluster on AKS is out of scope of this @@ -300,19 +284,33 @@ config. To learn more on how to create a container with AML SDK click [here](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.image.image.image?view=azure-ml-py#create-workspace--name--models--image-config-). Below is release pipeline with two tasks one to create an image using the above -script and second is the deploy the image to Web App for containers -![release_webapp](./images/release-webapp-pipeline.PNG). +script and second is the deploy the image to Web App for containers. + +![release_webapp](./images/release-webapp-pipeline.PNG) + +In the Variables tab, link the pipeline to your variable group (`devopsforai-aml-vg`). In the variable group definition, add the following variables: + +| Variable Name | Suggested Value | +| --------------------------- | -----------------------------------| +| MODEL_NAME | sklearn_regression_model.pkl | +| IMAGE_NAME | diabetes | + +Add as an artifact to the pipeline the result of the **Build Pipeline** as it contains the necessary scripts. + +Use an Agent of type `ubuntu-16.04`. -For the bash script task to invoke the [Create Image Script](../ml_service/util/create_scoring_image.py), specify the following task parameters: +For the Azure CLI task to invoke the [Create Image Script](../ml_service/util/create_scoring_image.py), specify the following task parameters: | Parameter | Value | | ------------------ | --------------------------------------------------------------------------------------------------- | -| Display Name | Create Scoring Image | -| Script | python3 $(System.DefaultWorkingDirectory)/\_MLOpsPythonRepo/ml_service/util/create_scoring_image.py | +| Display name | Create Scoring Image | +| Azure subscription | aml-workspace-connection | +| Script Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipeline/ml_service/util/create_scoring_image.sh`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | +| Working directory | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines`
_(The `_ci-build` part of the path is the source alias of your CI artifact)_ | ![release_createimage](./images/release-task-createimage.PNG) -Finally, for the Azure WebApp on Container Task, specify the following task +Finally, for the Azure Web App for Containers Task, specify the following task parameters as it is shown in the table below: | Parameter | Value | diff --git a/docs/images/release-task-createimage.PNG b/docs/images/release-task-createimage.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8224db187f09e3ffe64d37c3bf8c7a5d04c0054a GIT binary patch literal 232898 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

&6X+n*JP8b|ftkPmJOrO>j;QMg9t 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≠Y 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%0D!^^_(K*(xt0XqNu& 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℞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

{Sz_MmoteBSYJfMyaG!F>6L9{zd*Ut5;f*T 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 MMYZGE3dX+w7xZx|^8f$< literal 10362 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 diff --git a/ml_service/pipelines/build_train_pipeline.py b/ml_service/pipelines/build_train_pipeline.py index fa21b515..4b0d775b 100644 --- a/ml_service/pipelines/build_train_pipeline.py +++ b/ml_service/pipelines/build_train_pipeline.py @@ -1,12 +1,11 @@ from azureml.pipeline.core.graph import PipelineParameter from azureml.pipeline.steps import PythonScriptStep -from azureml.pipeline.core import Pipeline # , PipelineData +from azureml.pipeline.core import Pipeline +from azureml.core import Workspace from azureml.core.runconfig import RunConfiguration, CondaDependencies -# from azureml.core import Datastore import os import sys sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 -from workspace import get_workspace from attach_compute import get_compute from env_variables import Env @@ -14,13 +13,11 @@ def main(): e = Env() # Get Azure machine learning workspace - aml_workspace = get_workspace( - e.workspace_name, - e.resource_group, - e.subscription_id, - e.tenant_id, - e.app_id, - e.app_secret) + aml_workspace = Workspace.get( + name=e.workspace_name, + subscription_id=e.subscription_id, + resource_group=e.resource_group + ) print("get_workspace:") print(aml_workspace) @@ -46,6 +43,8 @@ def main(): name="model_name", default_value=e.model_name) build_id_param = PipelineParameter( name="build_id", default_value=e.build_id) + hyperparameter_alpha_param = PipelineParameter( + name="hyperparameter_alpha", default_value=0.5) train_step = PythonScriptStep( name="Train Model", @@ -55,6 +54,7 @@ def main(): arguments=[ "--build_id", build_id_param, "--model_name", model_name_param, + "--alpha", hyperparameter_alpha_param, ], runconfig=run_config, allow_reuse=False, diff --git a/ml_service/pipelines/build_train_pipeline_with_r.py b/ml_service/pipelines/build_train_pipeline_with_r.py index 72ed8e2a..eea6d4c6 100644 --- a/ml_service/pipelines/build_train_pipeline_with_r.py +++ b/ml_service/pipelines/build_train_pipeline_with_r.py @@ -1,11 +1,10 @@ from azureml.pipeline.steps import PythonScriptStep -from azureml.pipeline.core import Pipeline # , PipelineData +from azureml.pipeline.core import Pipeline +from azureml.core import Workspace from azureml.core.runconfig import RunConfiguration, CondaDependencies -# from azureml.core import Datastore import os import sys sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 -from workspace import get_workspace from attach_compute import get_compute from env_variables import Env @@ -13,13 +12,12 @@ def main(): e = Env() # Get Azure machine learning workspace - aml_workspace = get_workspace( - e.workspace_name, - e.resource_group, - e.subscription_id, - e.tenant_id, - e.app_id, - e.app_secret) + aml_workspace = Workspace.get( + name=e.workspace_name, + subscription_id=e.subscription_id, + resource_group=e.resource_group + ) + print("get_workspace:") print(aml_workspace) # Get Azure machine learning cluster @@ -28,6 +26,7 @@ def main(): e.compute_name, e.vm_size) if aml_compute is not None: + print("aml_compute:") print(aml_compute) run_config = RunConfiguration(conda_dependencies=CondaDependencies.create( diff --git a/ml_service/pipelines/build_train_pipeline_with_r_on_dbricks.py b/ml_service/pipelines/build_train_pipeline_with_r_on_dbricks.py index 733683eb..7d1891c7 100644 --- a/ml_service/pipelines/build_train_pipeline_with_r_on_dbricks.py +++ b/ml_service/pipelines/build_train_pipeline_with_r_on_dbricks.py @@ -1,8 +1,8 @@ from azureml.pipeline.core import Pipeline +from azureml.core import Workspace import os import sys sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 -from workspace import get_workspace from attach_compute import get_compute from azureml.pipeline.steps import DatabricksStep from env_variables import Env @@ -11,13 +11,12 @@ def main(): e = Env() # Get Azure machine learning workspace - aml_workspace = get_workspace( - e.workspace_name, - e.resource_group, - e.subscription_id, - e.tenant_id, - e.app_id, - e.app_secret) + aml_workspace = Workspace.get( + name=e.workspace_name, + subscription_id=e.subscription_id, + resource_group=e.resource_group + ) + print("get_workspace:") print(aml_workspace) # Get Azure machine learning cluster @@ -26,6 +25,7 @@ def main(): e.compute_name, e.vm_size) if aml_compute is not None: + print("aml_compute:") print(aml_compute) train_step = DatabricksStep( diff --git a/ml_service/pipelines/run_train_pipeline.py b/ml_service/pipelines/run_train_pipeline.py index 06abfd4d..e9fb0cbf 100644 --- a/ml_service/pipelines/run_train_pipeline.py +++ b/ml_service/pipelines/run_train_pipeline.py @@ -1,24 +1,34 @@ from azureml.pipeline.core import PublishedPipeline from azureml.core import Workspace -from azureml.core.authentication import ServicePrincipalAuthentication import os import sys +import argparse sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 from env_variables import Env def main(): + + parser = argparse.ArgumentParser("register") + parser.add_argument( + "--output_pipeline_id_file", + type=str, + help="Name of a file to write pipeline ID to" + ) + parser.add_argument( + "--skip_train_execution", + action="store_true", + help=("Do not trigger the execution. " + "Use this in Azure DevOps when using a server job to trigger") + ) + args = parser.parse_args() + e = Env() - service_principal = ServicePrincipalAuthentication( - tenant_id=e.tenant_id, - service_principal_id=e.app_id, - service_principal_password=e.app_secret) aml_workspace = Workspace.get( name=e.workspace_name, subscription_id=e.subscription_id, - resource_group=e.resource_group, - auth=service_principal + resource_group=e.resource_group ) # Find the pipeline that was published by the specified build ID @@ -41,22 +51,18 @@ def main(): print("published pipeline id is", published_pipeline.id) # Save the Pipeline ID for other AzDO jobs after script is complete - os.environ['amlpipeline_id'] = published_pipeline.id - savePIDcmd = 'echo "export AMLPIPELINE_ID=$amlpipeline_id" >tmp.sh' - os.system(savePIDcmd) - - # Set this to True for local development or if NOT - # using Azure DevOps Azure ML agentless pipeline execution task - skip_train_execution = True - if(skip_train_execution is False): + if args.output_pipeline_id_file is not None: + with open(args.output_pipeline_id_file, "w") as out_file: + out_file.write(published_pipeline.id) + + if(args.skip_train_execution is False): pipeline_parameters = {"model_name": e.model_name} - response = published_pipeline.submit( + run = published_pipeline.submit( aml_workspace, e.experiment_name, pipeline_parameters) - run_id = response.id - print("Pipeline run initiated ", run_id) + print("Pipeline run initiated ", run.id) if __name__ == "__main__": diff --git a/ml_service/pipelines/verify_train_pipeline.py b/ml_service/pipelines/verify_train_pipeline.py new file mode 100644 index 00000000..34150177 --- /dev/null +++ b/ml_service/pipelines/verify_train_pipeline.py @@ -0,0 +1,77 @@ +import os +import sys +import argparse +from azureml.core import Run, Experiment, Workspace + + +def main(): + + run = Run.get_context() + if (run.id.startswith('OfflineRun')): + from dotenv import load_dotenv + sys.path.append(os.path.abspath("./code/util")) # NOQA: E402 + from model_helper import get_model_by_tag + # For local development, set values in this section + load_dotenv() + workspace_name = os.environ.get("WORKSPACE_NAME") + experiment_name = os.environ.get("EXPERIMENT_NAME") + resource_group = os.environ.get("RESOURCE_GROUP") + subscription_id = os.environ.get("SUBSCRIPTION_ID") + build_id = os.environ.get('BUILD_BUILDID') + aml_workspace = Workspace.get( + name=workspace_name, + subscription_id=subscription_id, + resource_group=resource_group + ) + ws = aml_workspace + exp = Experiment(ws, experiment_name) + else: + sys.path.append(os.path.abspath("./util")) # NOQA: E402 + from model_helper import get_model_by_tag + ws = run.experiment.workspace + exp = run.experiment + + parser = argparse.ArgumentParser("register") + parser.add_argument( + "--build_id", + type=str, + help="The Build ID of the build triggering this pipeline run", + ) + parser.add_argument( + "--model_name", + type=str, + help="Name of the Model" + ) + parser.add_argument( + "--output_model_version_file", + type=str, + help="Name of a file to write model version to" + ) + + args = parser.parse_args() + if (args.build_id is not None): + build_id = args.build_id + model_name = args.model_name + + try: + tag_name = 'BuildId' + model = get_model_by_tag( + model_name, tag_name, build_id, exp.workspace) + if (model is not None): + print("Model was registered for this build.") + if (model is None): + print("Model was not registered for this run.") + sys.exit(1) + except Exception as e: + print(e) + print("Model was not registered for this run.") + sys.exit(1) + + # Save the Model Version for other AzDO jobs after script is complete + if args.output_model_version_file is not None: + with open(args.output_model_version_file, "w") as out_file: + out_file.write(str(model.version)) + + +if __name__ == '__main__': + main() diff --git a/ml_service/util/attach_compute.py b/ml_service/util/attach_compute.py index 569e3041..cc88be95 100644 --- a/ml_service/util/attach_compute.py +++ b/ml_service/util/attach_compute.py @@ -39,4 +39,4 @@ def get_compute( except ComputeTargetException as e: print(e) print('An error occurred trying to provision compute.') - exit() + exit(1) diff --git a/ml_service/util/create_scoring_image.py b/ml_service/util/create_scoring_image.py index 7e99bd28..af7de448 100644 --- a/ml_service/util/create_scoring_image.py +++ b/ml_service/util/create_scoring_image.py @@ -1,25 +1,20 @@ import os +import sys from azureml.core import Workspace from azureml.core.image import ContainerImage, Image from azureml.core.model import Model -from azureml.core.authentication import ServicePrincipalAuthentication +sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 from env_variables import Env e = Env() -SP_AUTH = ServicePrincipalAuthentication( - tenant_id=e.tenant_id, - service_principal_id=e.app_id, - service_principal_password=e.app_secret) - +# Get Azure machine learning workspace ws = Workspace.get( - e.workspace_name, - SP_AUTH, - e.subscription_id, - e.resource_group + name=e.workspace_name, + subscription_id=e.subscription_id, + resource_group=e.resource_group ) - model = Model(ws, name=e.model_name, version=e.model_version) os.chdir("./code/scoring") diff --git a/ml_service/util/create_scoring_image.sh b/ml_service/util/create_scoring_image.sh new file mode 100644 index 00000000..547496bc --- /dev/null +++ b/ml_service/util/create_scoring_image.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +set -euxo pipefail # strict mode, fail on error +set -x # verbose + +docker run \ + --rm \ + -t \ + -v $PWD:/mlops \ + -v ${AZURE_CONFIG_DIR:-$HOME/.azure}:/root/.azure \ + -e SUBSCRIPTION_ID=$(az account show --query id -o tsv) \ + -e RESOURCE_GROUP=$RESOURCE_GROUP \ + -e WORKSPACE_NAME=$WORKSPACE_NAME \ + -e MODEL_NAME=$MODEL_NAME \ + -e IMAGE_NAME=$IMAGE_NAME \ + mcr.microsoft.com/mlops/python:latest \ + bash -c "cd /mlops/ && python ml_service/util/create_scoring_image.py" diff --git a/ml_service/util/workspace.py b/ml_service/util/workspace.py deleted file mode 100644 index 08d1f67d..00000000 --- a/ml_service/util/workspace.py +++ /dev/null @@ -1,29 +0,0 @@ -import sys -from azureml.core import Workspace -from azureml.core.authentication import ServicePrincipalAuthentication - - -def get_workspace( - name: str, - resource_group: str, - subscription_id: str, - tenant_id: str, - app_id: str, - app_secret: str): - service_principal = ServicePrincipalAuthentication( - tenant_id=tenant_id, - service_principal_id=app_id, - service_principal_password=app_secret) - - try: - aml_workspace = Workspace.get( - name=name, - subscription_id=subscription_id, - resource_group=resource_group, - auth=service_principal) - - return aml_workspace - except Exception as caught_exception: - print("Error while retrieving Workspace...") - print(str(caught_exception)) - sys.exit(1) diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 00000000..a9418ef0 --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1 @@ +scikit-learn==0.21.3 diff --git a/tests/unit/code_test.py b/tests/unit/code_test.py index 3c49454d..06654b2f 100644 --- a/tests/unit/code_test.py +++ b/tests/unit/code_test.py @@ -1,27 +1,25 @@ import sys import os -sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 -from workspace import get_workspace -from env_variables import Env +import numpy as np +from azureml.core.run import Run +from unittest.mock import Mock +sys.path.append(os.path.abspath("./code/training")) # NOQA: E402 +from train import train_model -# Just an example of a unit test against -# a utility function common_scoring.next_saturday -def test_get_workspace(): - e = Env() - workspace_name = e.workspace_name - resource_group = e.resource_group - subscription_id = e.subscription_id - tenant_id = e.tenant_id - app_id = e.app_id - app_secret = e.app_secret +def test_train_model(): + X_train = np.array([1, 2, 3, 4, 5, 6]).reshape(-1, 1) + y_train = np.array([10, 9, 8, 8, 6, 5]) + X_test = np.array([3, 4]).reshape(-1, 1) + y_test = np.array([8, 7]) + data = {"train": {"X": X_train, "y": y_train}, + "test": {"X": X_test, "y": y_test}} - aml_workspace = get_workspace( - workspace_name, - resource_group, - subscription_id, - tenant_id, - app_id, - app_secret) + run = Mock(Run) + reg = train_model(run, data, alpha=1.2) - assert aml_workspace.name == workspace_name + run.log.assert_called_with("mse", 0.029843893480256872, + description='Mean squared error metric') + + preds = reg.predict([[1], [2]]) + np.testing.assert_equal(preds, [9.93939393939394, 9.03030303030303]) From 4d3114b5fc1a6071fd5c146bcaa107b620b42f45 Mon Sep 17 00:00:00 2001 From: Alexandre Gattiker Date: Thu, 28 Nov 2019 18:32:22 +0100 Subject: [PATCH 2/5] Removed unused argument --- .pipelines/azdo-ci-build-train.yml | 2 +- ml_service/pipelines/verify_train_pipeline.py | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.pipelines/azdo-ci-build-train.yml b/.pipelines/azdo-ci-build-train.yml index f81948ea..c82bfa05 100644 --- a/.pipelines/azdo-ci-build-train.yml +++ b/.pipelines/azdo-ci-build-train.yml @@ -98,7 +98,7 @@ stages: inlineScript: | set -e # fail on error export SUBSCRIPTION_ID=$(az account show --query id -o tsv) - python $(Build.SourcesDirectory)/ml_service/pipelines/verify_train_pipeline.py --build_id $(Build.BuildId) --model_name "$(MODEL_NAME)" --output_model_version_file "model_version.txt" + python $(Build.SourcesDirectory)/ml_service/pipelines/verify_train_pipeline.py --build_id $(Build.BuildId) --model_name "$(MODEL_NAME)" echo "##vso[task.setvariable variable=MODEL_VERSION;isOutput=true]$(cat model_version.txt)" displayName: "Determine if evaluation succeeded and new model is registered" - task: CopyFiles@2 diff --git a/ml_service/pipelines/verify_train_pipeline.py b/ml_service/pipelines/verify_train_pipeline.py index 34150177..89ffd712 100644 --- a/ml_service/pipelines/verify_train_pipeline.py +++ b/ml_service/pipelines/verify_train_pipeline.py @@ -42,11 +42,6 @@ def main(): type=str, help="Name of the Model" ) - parser.add_argument( - "--output_model_version_file", - type=str, - help="Name of a file to write model version to" - ) args = parser.parse_args() if (args.build_id is not None): From cf6b87d6fbfed0c7210c38f85977a1ba344c813e Mon Sep 17 00:00:00 2001 From: Alexandre Gattiker Date: Thu, 28 Nov 2019 18:56:24 +0100 Subject: [PATCH 3/5] Removed unused argument --- ml_service/pipelines/verify_train_pipeline.py | 5 ----- ml_service/util/create_scoring_image.sh | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/ml_service/pipelines/verify_train_pipeline.py b/ml_service/pipelines/verify_train_pipeline.py index 89ffd712..dbf34f16 100644 --- a/ml_service/pipelines/verify_train_pipeline.py +++ b/ml_service/pipelines/verify_train_pipeline.py @@ -62,11 +62,6 @@ def main(): print("Model was not registered for this run.") sys.exit(1) - # Save the Model Version for other AzDO jobs after script is complete - if args.output_model_version_file is not None: - with open(args.output_model_version_file, "w") as out_file: - out_file.write(str(model.version)) - if __name__ == '__main__': main() diff --git a/ml_service/util/create_scoring_image.sh b/ml_service/util/create_scoring_image.sh index 547496bc..1651b73e 100644 --- a/ml_service/util/create_scoring_image.sh +++ b/ml_service/util/create_scoring_image.sh @@ -1,6 +1,6 @@ #!/bin/sh -set -euxo pipefail # strict mode, fail on error +set -euo pipefail # strict mode, fail on error set -x # verbose docker run \ From 978d497cf0d0ad0ed9bce92610f38ec589ecc050 Mon Sep 17 00:00:00 2001 From: Alexandre Gattiker Date: Sat, 30 Nov 2019 07:25:06 +0100 Subject: [PATCH 4/5] Update code_description.md --- docs/code_description.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/code_description.md b/docs/code_description.md index bd094ce0..472e781b 100644 --- a/docs/code_description.md +++ b/docs/code_description.md @@ -24,6 +24,7 @@ - `ml_service/pipelines/build_train_pipeline_with_r.py` : builds and publishes an ML training pipeline. It uses R on ML Compute. - `ml_service/pipelines/build_train_pipeline_with_r_on_dbricks.py` : builds and publishes an ML training pipeline. It uses R on Databricks Compute. - `ml_service/pipelines/run_train_pipeline.py` : invokes a published ML training pipeline (Python on ML Compute) via REST API. +- `ml_service/pipelines/verify_train_pipeline.py` : determines whether the evaluate_model.py step of the training pipeline registered a new model. - `ml_service/util` : contains common utility functions used to build and publish an ML training pipeline. ### Code From 7c68dd508b11d7e7e948656dac47a4416363450c Mon Sep 17 00:00:00 2001 From: Alexandre Gattiker Date: Fri, 6 Dec 2019 05:33:43 +0100 Subject: [PATCH 5/5] Updates from PR review #121 --- .pipelines/azdo-base-pipeline.yml | 1 - .pipelines/azdo-ci-build-train.yml | 6 +++--- environment_setup/requirements.txt | 1 + ml_service/pipelines/run_train_pipeline.py | 1 + ml_service/pipelines/verify_train_pipeline.py | 11 +++++------ tests/requirements.txt | 1 - 6 files changed, 10 insertions(+), 11 deletions(-) delete mode 100644 tests/requirements.txt diff --git a/.pipelines/azdo-base-pipeline.yml b/.pipelines/azdo-base-pipeline.yml index 616e7011..926b404f 100644 --- a/.pipelines/azdo-base-pipeline.yml +++ b/.pipelines/azdo-base-pipeline.yml @@ -10,7 +10,6 @@ steps: enabled: 'true' - script: | - pip install --user -r $(Build.SourcesDirectory)/tests/requirements.txt pytest --junitxml=$(Build.BinariesDirectory)/unit-testresults.xml $(Build.SourcesDirectory)/tests/unit displayName: 'Run unit tests' enabled: 'true' diff --git a/.pipelines/azdo-ci-build-train.yml b/.pipelines/azdo-ci-build-train.yml index c82bfa05..d1d95843 100644 --- a/.pipelines/azdo-ci-build-train.yml +++ b/.pipelines/azdo-ci-build-train.yml @@ -56,7 +56,8 @@ stages: export SUBSCRIPTION_ID=$(az account show --query id -o tsv) python $(Build.SourcesDirectory)/ml_service/pipelines/run_train_pipeline.py --output_pipeline_id_file "pipeline_id.txt" --skip_train_execution # Set AMLPIPELINEID variable for next AML Pipeline task in next job - echo "##vso[task.setvariable variable=AMLPIPELINEID;isOutput=true]$(cat pipeline_id.txt)" + AMLPIPELINEID="$(cat pipeline_id.txt)" + echo "##vso[task.setvariable variable=AMLPIPELINEID;isOutput=true]$AMLPIPELINEID" name: 'getpipelineid' displayName: 'Get Pipeline ID' - bash: | @@ -98,8 +99,7 @@ stages: inlineScript: | set -e # fail on error export SUBSCRIPTION_ID=$(az account show --query id -o tsv) - python $(Build.SourcesDirectory)/ml_service/pipelines/verify_train_pipeline.py --build_id $(Build.BuildId) --model_name "$(MODEL_NAME)" - echo "##vso[task.setvariable variable=MODEL_VERSION;isOutput=true]$(cat model_version.txt)" + python $(Build.SourcesDirectory)/ml_service/pipelines/verify_train_pipeline.py --build_id $(Build.BuildId) displayName: "Determine if evaluation succeeded and new model is registered" - task: CopyFiles@2 displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)' diff --git a/environment_setup/requirements.txt b/environment_setup/requirements.txt index e7d7cc7b..f99e7f4b 100644 --- a/environment_setup/requirements.txt +++ b/environment_setup/requirements.txt @@ -2,6 +2,7 @@ pytest>=5.3 requests>=2.22 numpy>=1.17 pandas>=0.25 +scikit-learn>=0.21.3 azureml-sdk>=1.0 python-dotenv>=0.10.3 flake8>=3.7 diff --git a/ml_service/pipelines/run_train_pipeline.py b/ml_service/pipelines/run_train_pipeline.py index e9fb0cbf..50bf6e65 100644 --- a/ml_service/pipelines/run_train_pipeline.py +++ b/ml_service/pipelines/run_train_pipeline.py @@ -13,6 +13,7 @@ def main(): parser.add_argument( "--output_pipeline_id_file", type=str, + default="pipeline_id.txt", help="Name of a file to write pipeline ID to" ) parser.add_argument( diff --git a/ml_service/pipelines/verify_train_pipeline.py b/ml_service/pipelines/verify_train_pipeline.py index dbf34f16..b677dd6e 100644 --- a/ml_service/pipelines/verify_train_pipeline.py +++ b/ml_service/pipelines/verify_train_pipeline.py @@ -2,6 +2,8 @@ import sys import argparse from azureml.core import Run, Experiment, Workspace +sys.path.append(os.path.abspath("./ml_service/util")) # NOQA: E402 +from env_variables import Env def main(): @@ -31,22 +33,19 @@ def main(): ws = run.experiment.workspace exp = run.experiment + e = Env() + parser = argparse.ArgumentParser("register") parser.add_argument( "--build_id", type=str, help="The Build ID of the build triggering this pipeline run", ) - parser.add_argument( - "--model_name", - type=str, - help="Name of the Model" - ) args = parser.parse_args() if (args.build_id is not None): build_id = args.build_id - model_name = args.model_name + model_name = e.model_name try: tag_name = 'BuildId' diff --git a/tests/requirements.txt b/tests/requirements.txt deleted file mode 100644 index a9418ef0..00000000 --- a/tests/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -scikit-learn==0.21.3