Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’APPLIQUE À :Extension ml Azure CLI v2 (actuelle)
Le schéma JSON source se trouve à l’adresse https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLImageObjectDetectionJob.schema.json.
Notes
La syntaxe YAML détaillée dans ce document est basée sur le schéma JSON pour la dernière version de l’extension ML CLI v2. Le fonctionnement de cette syntaxe est garanti uniquement avec la dernière version de l’extension ML CLI v2. Vous trouverez les schémas des versions d’extension plus anciennes sur https://azuremlschemasprod.azureedge.net/.
Syntaxe YAML
Pour plus d’informations sur toutes les clés de la syntaxe YAML, consultez la syntaxe YAML de la tâche de classification d’images. Ici, nous décrivons uniquement les clés qui ont des valeurs différentes par rapport à ce qui est spécifié pour la tâche de classification d’images.
Clé | Catégorie | Descriptif | Valeurs autorisées | Valeur par défaut |
---|---|---|---|---|
task |
Const | Obligatoire. Le type de tâche AutoML. | image_object_detection |
image_object_detection |
primary_metric |
ficelle | Métrique qu’AutoML optimisera pour la sélection du modèle. | mean_average_precision |
mean_average_precision |
training_parameters |
objet | Dictionnaire contenant les paramètres d’entraînement du travail. Fournissez un objet qui a des clés, comme indiqué dans les sections suivantes. - Hyperparamètres spécifiques de modèle pour yolov5 (si vous utilisez yolov5 pour la détection d’objets) - Hyperparamètres indépendants des modèles - Hyperparamètres spécifiques aux tâches de détection d’objets et segmentation d’instances. Pour obtenir un exemple, consultez la section Architectures de modèle prises en charge. |
Remarques
La commande az ml job
peut être utilisée pour gérer les tâches Azure Machine Learning.
Exemples
Des exemples sont disponibles dans le référentiel d’exemples GitHub. Les exemples pertinents pour la tâche de détection d’objet image sont présentés ci-dessous.
YAML : Tâche de détection d’objet image AutoML
$schema: https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLJob.schema.json
type: automl
# <experiment_name>
experiment_name: dpv2-cli-automl-image-object-detection-experiment
# </experiment_name>
description: An Image Object Detection job using fridge items dataset
# <compute_settings>
compute: azureml:gpu-cluster
# </compute_settings>
# <task_settings>
task: image_object_detection
log_verbosity: debug
primary_metric: mean_average_precision
# </task_settings>
# <mltable_settings>
target_column_name: label
training_data:
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/training-mltable-folder
type: mltable
validation_data:
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/validation-mltable-folder
type: mltable
# </mltable_settings>
# <limit_settings>
limits:
timeout_minutes: 60
max_trials: 10
max_concurrent_trials: 2
# </limit_settings>
# <fixed_settings>
training_parameters:
early_stopping: True
evaluation_frequency: 1
# </fixed_settings>
# <sweep_settings>
sweep:
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
# </sweep_settings>
# <search_space_settings>
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.0001
max_value: 0.001
optimizer:
type: choice
values: ['sgd', 'adam', 'adamw']
min_size:
type: choice
values: [600, 800]
# </search_space_settings>
YAML : Tâche de pipeline de détection d’objets d’image AutoML
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
description: Pipeline using AutoML Image Object Detection task
display_name: pipeline-with-image-object-detection
experiment_name: pipeline-with-automl
settings:
default_compute: azureml:gpu-cluster
inputs:
image_object_detection_training_data:
type: mltable
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/training-mltable-folder
image_object_detection_validation_data:
type: mltable
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/validation-mltable-folder
jobs:
image_object_detection_node:
type: automl
task: image_object_detection
log_verbosity: info
primary_metric: mean_average_precision
limits:
timeout_minutes: 180
max_trials: 10
max_concurrent_trials: 2
target_column_name: label
training_data: ${{parent.inputs.image_object_detection_training_data}}
validation_data: ${{parent.inputs.image_object_detection_validation_data}}
training_parameters:
early_stopping: True
evaluation_frequency: 1
sweep:
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
search_space:
- model_name:
type: choice
values: [yolov5]
learning_rate:
type: uniform
min_value: 0.0001
max_value: 0.001
model_size:
type: choice
values: ['small', 'medium']
- model_name:
type: choice
values: [fasterrcnn_resnet50_fpn]
learning_rate:
type: uniform
min_value: 0.0001
max_value: 0.001
optimizer:
type: choice
values: ['sgd', 'adam', 'adamw']
min_size:
type: choice
values: [600, 800]
# currently need to specify outputs "mlflow_model" explicitly to reference it in following nodes
outputs:
best_model:
type: mlflow_model
register_model_node:
type: command
component: file:./components/component_register_model.yaml
inputs:
model_input_path: ${{parent.jobs.image_object_detection_node.outputs.best_model}}
model_base_name: fridge_items_object_detection_model