源 JSON 架构可在 https://azuremlsdk2.blob.core.chinacloudapi.cn/preview/0.0.1/autoMLImageInstanceSegmentationJob.schema.json 中找到。
备注
本文档中详细介绍的 YAML 语法基于最新版本的 ML CLI v2 扩展的 JSON 架构。 此语法必定仅适用于最新版本的 ML CLI v2 扩展。 可以在 https://azuremlschemasprod.azureedge.net/ 上查找早期扩展版本的架构。
有关 YAML 语法中所有键的信息,请参阅图像分类任务的 YAML 语法。 在这里,我们只描述那些其值不同于为图像分类任务指定的值的键。
密钥 | 类型 | 说明 | 允许的值 | 默认值 |
---|---|---|---|---|
task |
const | 必需。 AutoML 任务的类型。 | image_instance_segmentation |
image_instance_segmentation |
primary_metric |
字符串 | 将由 AutoML 针对模型选择进行优化的指标。 | mean_average_precision |
mean_average_precision |
training_parameters |
对象 | 字典,包含作业的训练参数。 提供一个对象,该对象具有以下部分列出的键。 用于 maskrcnn_* 的- 模型特定的超参数(如果使用 maskrcnn_* 进行实例分段) - 与模型无关的超参数 - 对象检测和实例分段任务特定的超参数。 有关示例,请参阅支持的模型体系结构部分。 |
az ml job
命令可用于管理 Azure 机器学习作业。
示例 GitHub 存储库中提供了示例。 下面显示了与图像实例分段作业相关的示例。
$schema: https://azuremlsdk2.blob.core.chinacloudapi.cn/preview/0.0.1/autoMLJob.schema.json
type: automl
experiment_name: dpv2-cli-automl-image-instance-segmentation-experiment
description: An Image Instance segmentation job using fridge items dataset
compute: azureml:gpu-cluster
task: image_instance_segmentation
log_verbosity: debug
primary_metric: mean_average_precision
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
limits:
timeout_minutes: 60
max_trials: 10
max_concurrent_trials: 2
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: [maskrcnn_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]
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
description: Pipeline using AutoML Image Instance Segmentation task
display_name: pipeline-with-image-instance-segmentation
experiment_name: pipeline-with-automl
settings:
default_compute: azureml:gpu-cluster
inputs:
image_instance_segmentation_training_data:
type: mltable
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/training-mltable-folder
image_instance_segmentation_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_instance_segmentation_node:
type: automl
task: image_instance_segmentation
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_instance_segmentation_training_data}}
validation_data: ${{parent.inputs.image_instance_segmentation_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: [maskrcnn_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_instance_segmentation_node.outputs.best_model}}
model_base_name: fridge_items_segmentation_model