Komut işinde parametreleri kullanma

Tamamlandı

Parametreleri kullanarak betiklerinizin esnekliğini artırabilirsiniz. Örneğin, makine öğrenmesi modelini eğiten bir betik oluşturmuş olabilirsiniz. Modeli farklı veri kümelerinde eğitmek veya çeşitli hiper parametre değerleri kullanmak için aynı betiği kullanabilirsiniz.

Betik bağımsız değişkenleriyle çalışma

Betikte parametreleri kullanmak için, betikte geçirilen bağımsız değişkenleri okumak ve bunları değişkenlere atamak için gibi argparse bir kitaplık kullanmanız gerekir.

Örneğin, aşağıdaki betik, eğitim verilerinin yolunu belirten adlı training_databir bağımsız değişkeni okur.

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

Betikte beklediğiniz tüm parametreler tanımlanmalıdır. Betikte, her parametre için ne tür bir değer beklediğinizi ve varsayılan değer ayarlamak isteyip istemediğinizi belirtebilirsiniz.

Bağımsız değişkenleri bir betike geçirme

Parametre değerlerini bir betike geçirmek için komutta bağımsız değişken değerini sağlamanız gerekir.

Örneğin, terminalde bir betik çalıştırırken parametre değeri geçirirseniz aşağıdaki komutu kullanırsınız:

python train.py --training_data diabetes.csv

Örnekte, diabetes.csv yerel bir dosyadır. Alternatif olarak, Azure Machine Learning çalışma alanında oluşturulan bir veri varlığının yolunu belirtebilirsiniz.

Benzer şekilde, komut işi olarak çalıştırmak istediğiniz bir betike parametre değeri geçirmek istediğinizde, komuttaki değerleri belirtirsiniz:

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

Bir komut işi gönderdikten sonra, belirttiğiniz giriş ve çıkış parametrelerini gözden geçirebilirsiniz.