AutoML upgraden naar SDK v2
In SDK v2 worden 'experimenten' en 'runs' samengevoegd in taken.
In SDK v1 is AutoML voornamelijk geconfigureerd en uitgevoerd met behulp van de AutoMLConfig
klasse. In SDK v2 is deze klasse geconverteerd naar een AutoML
taak. Hoewel er enkele verschillen zijn in de configuratieopties, blijft naamgeving en functionaliteit behouden in V2.
Dit artikel bevat een vergelijking van scenario('s) in SDK v1 en SDK v2.
AutoML-uitvoering verzenden
SDK v1: Hieronder ziet u een voorbeeld van een AutoML-classificatietaak. Bekijk onze opslagplaats met voorbeelden voor de volledige code.
# Imports import azureml.core from azureml.core.experiment import Experiment from azureml.core.workspace import Workspace from azureml.core.dataset import Dataset from azureml.train.automl import AutoMLConfig from azureml.train.automl.run import AutoMLRun # Load tabular dataset data = "<url_to_data>" dataset = Dataset.Tabular.from_delimited_files(data) training_data, validation_data = dataset.random_split(percentage=0.8, seed=223) label_column_name = "Class" # Configure Auto ML settings automl_settings = { "n_cross_validations": 3, "primary_metric": "average_precision_score_weighted", "enable_early_stopping": True, "max_concurrent_iterations": 2, "experiment_timeout_hours": 0.25, "verbosity": logging.INFO, } # Put together an AutoML job constructor automl_config = AutoMLConfig( task="classification", debug_log="automl_errors.log", compute_target=compute_target, training_data=training_data, label_column_name=label_column_name, **automl_settings, ) # Submit run remote_run = experiment.submit(automl_config, show_output=False) azureml_url = remote_run.get_portal_url() print(azureml_url)
SDK v2: Hieronder ziet u een voorbeeld van een AutoML-classificatietaak. Bekijk onze opslagplaats met voorbeelden voor de volledige code.
# Imports from azure.ai.ml import automl, Input, MLClient from azure.ai.ml.constants import AssetTypes from azure.ai.ml.automl import ( classification, ClassificationPrimaryMetrics, ClassificationModels, ) # Create MLTables for training dataset # Note that AutoML Job can also take in tabular data my_training_data_input = Input( type=AssetTypes.MLTABLE, path="./data/training-mltable-folder" ) # Create the AutoML classification job with the related factory-function. classification_job = automl.classification( compute="<compute_name>", experiment_name="<exp_name?", training_data=my_training_data_input, target_column_name="<name_of_target_column>", primary_metric="accuracy", n_cross_validations=5, enable_model_explainability=True, tags={"my_custom_tag": "My custom value"}, ) # Limits are all optional classification_job.set_limits( timeout_minutes=600, trial_timeout_minutes=20, max_trials=5, max_concurrent_trials = 4, max_cores_per_trial= 1, enable_early_termination=True, ) # Training properties are optional classification_job.set_training( blocked_training_algorithms=["LogisticRegression"], enable_onnx_compatible_models=True, ) # Submit the AutoML job returned_job = ml_client.jobs.create_or_update(classification_job) returned_job
Toewijzing van belangrijke functionaliteit in SDK v1 en SDK v2
Functionaliteit in SDK v1 | Ruwe toewijzing in SDK v2 |
---|---|
Methode/API in SDK v1 (koppelingen naar ref docs gebruiken) | Methode/API in SDK v2 (koppelingen naar ref docs gebruiken) |
Volgende stappen
Zie voor meer informatie: