Mise à niveau d’AutoML vers le kit de développement logiciel (SDK) v2

Dans la v2 du SDK, les « expériences » et les « exécutions » sont regroupées en tâches.

Dans la v1 du SDK, AutoML était d’abord configuré et exécuté à l’aide de la classe AutoMLConfig. Dans la v2 du SDK, cette classe a été convertie en tâche AutoML. Bien qu’il existe des différences dans les options de configuration, par et en grande, les fonctionnalités de nommage et de nommage ont été conservées dans V2.

Cet article fournit une comparaison des scénarios dans le SDK v1 et le SDK v2.

Soumettre une exécution AutoML

  • SDK v1 : Vous trouverez ci-dessous un exemple de tâche de classification AutoML. Pour l’ensemble du code, consultez notre référentiel d’exemples.

    # 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 : Vous trouverez ci-dessous un exemple de tâche de classification AutoML. Pour l’ensemble du code, consultez notre référentiel d’exemples.

    # 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
    

Mappage des fonctionnalités clés dans le SDK v1 et le SDK v2

Fonctionnalités dans le SDK v1 Mappage approximatif dans le SDK v2
Méthode/API dans le Kit de développement logiciel (SDK) v1 (utilisez des liens vers des documents de référence) Méthode/API dans le Kit de développement logiciel (SDK) v2 (utilisez des liens vers des documents de référence)

Étapes suivantes

Pour plus d'informations, consultez les pages suivantes :