Aracılığıyla paylaş


AutoML'yi SDK v2'ye yükseltme

SDK v2'de "denemeler" ve "çalıştırmalar" işlerde birleştirilir.

SDK v1'de AutoML öncelikle sınıfı kullanılarak AutoMLConfig yapılandırıldı ve çalıştırıldı. SDK v2'de bu sınıf bir AutoML işe dönüştürüldü. Yapılandırma seçeneklerinde bazı farklılıklar olsa da, V2'de büyük ve büyük adlandırma ve işlevsellik korunmuştur.

Bu makalede SDK v1 ve SDK v2'deki senaryoların karşılaştırması verilmiştir.

AutoML çalıştırmasını gönderme

  • SDK v1: Aşağıda örnek bir AutoML sınıflandırma görevi verilmiştir. Kodun tamamı için örnek depomuza göz atın.

    # 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: Aşağıda örnek bir AutoML sınıflandırma görevi verilmiştir. Kodun tamamı için örnek depomuza göz atın.

    # 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
    

SDK v1 ve SDK v2'deki temel işlevlerin eşlemesi

SDK v1'deki işlevsellik SDK v2'de kaba eşleme
SDK v1'de Yöntem/API (başvuru belgelerinin bağlantılarını kullanın) SDK v2'de Yöntem/API (başvuru belgeleri bağlantılarını kullanın)

Sonraki adımlar

Daha fazla bilgi için bkz.