Parameters gebruiken in een opdrachttaak

Voltooid

U kunt de flexibiliteit van uw scripts vergroten met behulp van parameters. U hebt bijvoorbeeld een script gemaakt waarmee een machine learning-model wordt getraind. U kunt hetzelfde script gebruiken om een model te trainen op verschillende gegevenssets of om verschillende hyperparameterwaarden te gebruiken.

Werken met scriptargumenten

Als u parameters in een script wilt gebruiken, moet u een bibliotheek gebruiken, zoals argparse het lezen van argumenten die aan het script zijn doorgegeven en deze toewijzen aan variabelen.

Met het volgende script worden bijvoorbeeld argumenten met de naam training_datagelezen, waarmee het pad naar de trainingsgegevens wordt opgegeven.

# import libraries
import argparse
import pandas as pd
from sklearn.linear_model import LogisticRegression

def main(args):
    # read data
    df = get_data(args.training_data)

# function that reads the data
def get_data(path):
    df = pd.read_csv(path)
    
    return df

def parse_args():
    # setup arg parser
    parser = argparse.ArgumentParser()

    # add arguments
    parser.add_argument("--training_data", dest='training_data',
                        type=str)

    # parse args
    args = parser.parse_args()

    # return args
    return args

# run script
if __name__ == "__main__":

    # parse args
    args = parse_args()

    # run main function
    main(args)

Alle parameters die u verwacht, moeten worden gedefinieerd in het script. In het script kunt u opgeven welk type waarde u verwacht voor elke parameter en of u een standaardwaarde wilt instellen.

Argumenten doorgeven aan een script

Als u parameterwaarden wilt doorgeven aan een script, moet u de argumentwaarde in de opdracht opgeven.

Als u bijvoorbeeld een parameterwaarde doorgeeft bij het uitvoeren van een script in een terminal, gebruikt u de volgende opdracht:

python train.py --training_data diabetes.csv

In het voorbeeld diabetes.csv is een lokaal bestand. U kunt ook het pad opgeven naar een gegevensasset die is gemaakt in de Azure Machine Learning-werkruimte.

Als u een parameterwaarde wilt doorgeven aan een script dat u wilt uitvoeren als een opdrachttaak, geeft u de waarden in de opdracht op:

from azure.ai.ml import command

# configure job
job = command(
    code="./src",
    command="python train.py --training_data diabetes.csv",
    environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
    compute="aml-cluster",
    display_name="train-model",
    experiment_name="train-classification-model"
    )

Nadat u een opdrachttaak hebt verzonden, kunt u de opgegeven invoer- en uitvoerparameters bekijken.