From 4b3481b120b380d4cc4fdd075317ee71098004d4 Mon Sep 17 00:00:00 2001 From: Madhukeswara Maddi Date: Wed, 21 Sep 2022 11:10:26 +0530 Subject: [PATCH] extract sweeplimits if present --- .../image_vertical/image_sweep_settings.py | 3 + ...ml_image_job_limits_outside_sweep_mock.yml | 65 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 sdk/ml/azure-ai-ml/tests/test_configs/automl_job/automl_image_job_limits_outside_sweep_mock.yml diff --git a/sdk/ml/azure-ai-ml/azure/ai/ml/_schema/automl/image_vertical/image_sweep_settings.py b/sdk/ml/azure-ai-ml/azure/ai/ml/_schema/automl/image_vertical/image_sweep_settings.py index afe907d91346..aa922eccf71f 100644 --- a/sdk/ml/azure-ai-ml/azure/ai/ml/_schema/automl/image_vertical/image_sweep_settings.py +++ b/sdk/ml/azure-ai-ml/azure/ai/ml/_schema/automl/image_vertical/image_sweep_settings.py @@ -27,6 +27,9 @@ def conversion(self, data, **kwargs): def make(self, data, **kwargs): from azure.ai.ml.automl import ImageSweepSettings + if "limits" not in data: + return ImageSweepSettings(**data) + limits = data.pop("limits") max_concurrent_trials = limits.max_concurrent_trials max_trials = limits.max_trials diff --git a/sdk/ml/azure-ai-ml/tests/test_configs/automl_job/automl_image_job_limits_outside_sweep_mock.yml b/sdk/ml/azure-ai-ml/tests/test_configs/automl_job/automl_image_job_limits_outside_sweep_mock.yml new file mode 100644 index 000000000000..05e83b7e9b46 --- /dev/null +++ b/sdk/ml/azure-ai-ml/tests/test_configs/automl_job/automl_image_job_limits_outside_sweep_mock.yml @@ -0,0 +1,65 @@ +type: automl + +name: simpleautomlimagejob +experiment_name: "automl" +compute: azureml:cpu-cluster + +log_verbosity: debug +task: image_object_detection +primary_metric: mean_average_precision + +limits: + timeout_minutes: 60 + max_concurrent_trials: 1 + max_trials: 1 + +target_column_name: label +training_data: + path: azureml:image-training-data:1 + type: mltable +validation_data: + path: azureml:image-validation-data:1 + type: mltable + +sweep: + sampling_algorithm: grid + early_termination: + type: bandit + evaluation_interval: 10 + slack_factor: 0.2 + +training_parameters: + checkpoint_frequency: 1 + early_stopping: true + early_stopping_delay: 2 + early_stopping_patience: 2 + evaluation_frequency: 1 + +search_space: + - model_name: + type: choice + values: [yolov5] + learning_rate: + type: uniform + min_value: 0.0001 + max_value: 0.01 + model_size: + type: choice + values: ['small', 'medium'] + + - model_name: + type: choice + values: [fasterrcnn_resnet50_fpn] + learning_rate: + type: uniform + min_value: 0.005 + max_value: 0.05 + warmup_cosine_lr_warmup_epochs: + type: choice + values: [0, 3] + optimizer: + type: choice + values: ['sgd', 'adam', 'adamw'] + min_size: + type: choice + values: [600, 800]