Uso de parámetros en un trabajo de comando

Completado

Puede aumentar la flexibilidad de los scripts mediante parámetros. Por ejemplo, puede que haya creado un script que entrene un modelo de aprendizaje automático. Puede usar el mismo script para entrenar un modelo en diferentes conjuntos de datos o usar varios valores de hiperparámetros.

Uso de argumentos de script

Para usar parámetros en un script, debe usar una biblioteca como argparse para leer los argumentos que se pasan al script y asignarlos a variables.

Por ejemplo, el siguiente script lee un argumento denominado training_data, que especifica la ruta de acceso a los datos de entrenamiento.

# 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)

Los parámetros esperados deben definirse en el script. En el script, puede especificar qué tipo de valor espera para cada parámetro y si desea establecer un valor predeterminado.

Paso de argumentos a un script

Para pasar valores de parámetro a un script, debe proporcionar el valor del argumento en el comando.

Por ejemplo, si pasara un valor de parámetro al ejecutar un script en un terminal, usaría el comando siguiente:

python train.py --training_data diabetes.csv

En el ejemplo, diabetes.csv es un archivo local. Como alternativa, puede especificar la ruta de acceso a un recurso de datos creado en el área de trabajo de Azure Machine Learning.

Del mismo modo, cuando quiera pasar un valor de parámetro a un script que desea ejecutar como un trabajo de comando, especificará los valores en el comando :

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"
    )

Después de enviar un trabajo de comando, puede revisar los parámetros de entrada y salida especificados.