Komut işinde parametreleri kullanma
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.