你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ImageObjectDetectionJob 类
AutoML 图像对象检测作业的配置。
初始化新的 AutoML 图像对象检测作业。
- 继承
-
azure.ai.ml.entities._job.automl.image.automl_image_object_detection_base.AutoMLImageObjectDetectionBaseImageObjectDetectionJob
构造函数
ImageObjectDetectionJob(*, primary_metric: str | ObjectDetectionPrimaryMetrics | None = None, **kwargs)
参数
- primary_metric
用于优化的主要指标
- kwargs
特定于作业的参数
方法
dump |
将作业内容转储到 YAML 格式的文件中。 |
extend_search_space |
为 AutoML 图像对象检测和图像实例分段任务添加搜索空间。 |
set_data | |
set_limits |
限制所有 AutoML 垂直图像的设置。 |
set_sweep |
所有 AutoML 垂直图像的扫描设置。 |
set_training_parameters |
为 AutoML 图像对象检测和图像实例分段任务设置图像训练参数。 |
dump
将作业内容转储到 YAML 格式的文件中。
dump(dest: str | PathLike | IO, **kwargs) -> None
参数
要向其写入 YAML 内容的本地路径或文件流。 如果 dest 是文件路径,则将创建一个新文件。 如果 dest 是打开的文件,则将直接写入该文件。
- kwargs
- dict
要传递给 YAML 序列化程序的其他参数。
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
extend_search_space
为 AutoML 图像对象检测和图像实例分段任务添加搜索空间。
extend_search_space(value: SearchSpace | List[SearchSpace]) -> None
参数
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
set_data
set_data(*, training_data: Input, target_column_name: str, validation_data: Input | None = None, validation_data_size: float | None = None) -> None
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
set_limits
限制所有 AutoML 垂直图像的设置。
set_limits(*, max_concurrent_trials: int | None = None, max_trials: int | None = None, timeout_minutes: int | None = None) -> None
参数
- timeout_minutes
- timedelta
AutoML 作业超时。
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
set_sweep
所有 AutoML 垂直图像的扫描设置。
set_sweep(*, sampling_algorithm: str | Random | Grid | Bayesian, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None) -> None
参数
- sampling_algorithm
必需。 [必需]超参数采样算法的类型。 可能的值包括:“Grid”、“Random”、“Bayesian”。
- early_termination
- Union[ BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]
提前终止策略的类型。
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
set_training_parameters
为 AutoML 图像对象检测和图像实例分段任务设置图像训练参数。
set_training_parameters(*, advanced_settings: str | None = None, ams_gradient: bool | None = None, beta1: float | None = None, beta2: float | None = None, checkpoint_frequency: int | None = None, checkpoint_run_id: str | None = None, distributed: bool | None = None, early_stopping: bool | None = None, early_stopping_delay: int | None = None, early_stopping_patience: int | None = None, enable_onnx_normalization: bool | None = None, evaluation_frequency: int | None = None, gradient_accumulation_step: int | None = None, layers_to_freeze: int | None = None, learning_rate: float | None = None, learning_rate_scheduler: str | LearningRateScheduler | None = None, model_name: str | None = None, momentum: float | None = None, nesterov: bool | None = None, number_of_epochs: int | None = None, number_of_workers: int | None = None, optimizer: str | StochasticOptimizer | None = None, random_seed: int | None = None, step_lr_gamma: float | None = None, step_lr_step_size: int | None = None, training_batch_size: int | None = None, validation_batch_size: int | None = None, warmup_cosine_lr_cycles: float | None = None, warmup_cosine_lr_warmup_epochs: int | None = None, weight_decay: float | None = None, box_detections_per_image: int | None = None, box_score_threshold: float | None = None, image_size: int | None = None, max_size: int | None = None, min_size: int | None = None, model_size: str | ModelSize | None = None, multi_scale: bool | None = None, nms_iou_threshold: float | None = None, tile_grid_size: str | None = None, tile_overlap_ratio: float | None = None, tile_predictions_nms_threshold: float | None = None, validation_iou_threshold: float | None = None, validation_metric_type: str | ValidationMetricType | None = None, log_training_metrics: str | LogTrainingMetrics | None = None, log_validation_loss: str | LogValidationLoss | None = None) -> None
参数
- advanced_settings
- str
高级方案的设置。
- ams_gradient
- bool
当优化器为“adam”或“adamw”时启用 AMSGrad。
- beta1
- float
当优化器为“adam”或“adamw”时,“beta1”的值。 必须是 [0, 1] 范围内的浮点数。
- beta2
- float
当优化器为“adam”或“adamw”时,“beta2”的值。 必须是 [0, 1] 范围内的浮点数。
- checkpoint_frequency
- int
存储模型检查点所遵循的频率。 必须是正整数。
- checkpoint_run_id
- str
具有增量训练的预训练检查点的上一个运行的 ID。
- distributed
- bool
是否使用分布式训练。
- early_stopping
- bool
在训练期间启用提前停止逻辑。
- early_stopping_delay
- int
跟踪主要指标改进以提前停止之前等待的最小时期数或验证评估。 必须是正整数。
- early_stopping_patience
- int
在停止运行之前,没有主要指标改进的最小时期数或验证评估。 必须是正整数。
- enable_onnx_normalization
- bool
导出 ONNX 模型时启用规范化。
- evaluation_frequency
- int
评估验证数据集以获得指标分数所遵循的频率。 必须是正整数。
- gradient_accumulation_step
- int
梯度累积是指运行配置数量的“GradAccumulationStep”步骤,但不更新模型权重,同时累积这些步骤的梯度,然后使用累积的渐变计算权重更新。 必须是正整数。
- layers_to_freeze
模型要冻结的层数。 必须是正整数。 例如,将 2 作为“seresnext”的值传递意味着冻结 layer0 和 layer1。 有关支持模型的完整列表以及有关层冻结的详细信息,请参阅: https://docs.microsoft.com/en-us/azure/machine-learning/reference-automl-images-hyperparameters#model-agnostic-hyperparameters。 # pylint: disable=line-too-long
- learning_rate
- float
初始学习速率。 必须是 [0, 1] 范围内的浮点数。
- learning_rate_scheduler
学习速率计划程序的类型。 必须为“warmup_cosine”或“step”。 可能的值包括:“None”、“WarmupCosine”、“Step”。
- model_name
用于训练的模型的名称。 有关可用模型的详细信息,请访问官方文档: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models。
- momentum
- float
优化器为“sgd”时的动量值。 必须是 [0, 1] 范围内的浮点数。
- nesterov
- bool
当优化器为“sgd”时启用 nesterov。
- number_of_epochs
- int
训练循环数。 必须是正整数。
- number_of_workers
- int
数据加载程序辅助角色数。 必须是非负整数。
- optimizer
优化器的类型。 可能的值包括:“None”、“Sgd”、“Adam”、“Adamw”。
- random_seed
- int
使用确定性训练时要使用的随机种子。
- step_lr_gamma
- float
学习速率计划程序为“step”时,gamma 的值。 必须是 [0, 1] 范围内的浮点数。
- step_lr_step_size
- int
学习速率计划程序为“step”时步骤大小的值。 必须是正整数。
- training_batch_size
- int
训练批大小。 必须是正整数。
- validation_batch_size
- int
验证批大小。 必须是正整数。
- warmup_cosine_lr_cycles
- float
学习速率计划程序为“warmup_cosine”时的余弦周期值。 必须是 [0, 1] 范围内的浮点数。
- warmup_cosine_lr_warmup_epochs
- int
学习速率计划程序为“warmup_cosine”时预热纪元的值。 必须是正整数。
- weight_decay
- float
优化器为“sgd”、“adam”或“adamw”时的权重衰减值。 必须是范围[0, 1] 中的浮点数。
- box_detections_per_image
所有类的每个图像的最大检测次数。 必须是正整数。 注意:“yolov5”算法不支持此设置。
- box_score_threshold
- float
在推理期间,仅返回分类分数大于 BoxScoreThreshold 的建议。 必须是范围[0, 1] 中的浮点数。
- image_size
用于训练和验证的图像大小。 必须是正整数。 注意:如果大小太大,训练运行可能会进入 CUDA OOM。 注意:只有“yolov5”算法支持此设置。
- max_size
在将图像馈送到主干之前要将其重新缩放到的最大大小。 必须是正整数。 注意:如果大小太大,训练运行可能会遇到 CUDA OOM 错误。 注意:“yolov5”算法不支持此设置。
- min_size
在将图像馈送到主干之前要将其重新缩放到的最小大小。 必须是正整数。 注意:如果大小太大,训练运行可能会遇到 CUDA OOM 错误。 注意:“yolov5”算法不支持此设置。
- model_size
模型大小。 必须为“small”、“medium”、“large”或“extra_large”。 注意:如果模型大小太大,训练运行可能会遇到 CUDA OOM 错误。 注意:只有“yolov5”算法支持此设置。
- multi_scale
按 +/- 50% 的不同图像大小启用多比例图像。 注意:如果 GPU 内存不足,训练运行可能会遇到 CUDA OOM 错误。 注意:只有“yolov5”算法支持此设置。
- nms_iou_threshold
- float
在 NMS 后处理推理期间使用的 IOU 阈值。 必须在 [0, 1] 范围内浮动。
- tile_grid_size
用于平铺每个图像的网格大小。 注意:TileGridSize 不得为 None 才能启用小型对象检测逻辑。 一个字符串,包含两个采用文本格式的整数。
- tile_overlap_ratio
- float
每个维度中相邻图块之间的重叠率。 必须在 [0, 1) 范围内浮动。
- tile_predictions_nms_threshold
合并图块和图像的预测结果时用于执行 NMS 的 IOU 阈值。 在验证/推理中使用。 必须在 [0, 1] 范围内浮动。 NMS:非最大抑制。
- validation_iou_threshold
- float
计算验证指标时要使用的 IOU 阈值。 必须在 [0, 1] 范围内浮动。
- validation_metric_type
- str 或 ValidationMetricType
用于验证指标的指标计算方法。 必须为“none”、“coco”、“voc”或“coco_voc”。
- log_training_metrics
- str 或 <xref:azure.mgmt.machinelearningservices.models.LogTrainingMetrics>
指示是否记录训练指标。 必须为“启用”或“禁用”
- log_validation_loss
- str 或 <xref:azure.mgmt.machinelearningservices.models.LogValidationLoss>
指示是否记录验证丢失。 必须为“启用”或“禁用”
例外
如果 dest 是文件路径且文件已存在,则引发。
如果 dest 是打开的文件且文件不可写,则引发。
属性
base_path
creation_context
id
inputs
limits
log_files
log_verbosity
outputs
primary_metric
search_space
status
作业的状态。
返回的常见值包括“正在运行”、“已完成”和“失败”。 所有可能的值为:
NotStarted - 这是客户端 Run 对象在云提交之前处于的临时状态。
正在启动 - 运行已开始在云中处理。 调用方此时具有运行 ID。
预配 - 正在为给定的作业提交创建按需计算。
准备 - 运行环境正在准备中,处于以下两个阶段之一:
Docker 映像生成
Conda 环境设置
已排队 - 作业在计算目标上排队。 例如,在 BatchAI 中,作业处于排队状态
等待所有请求的节点准备就绪时。
正在运行 - 作业已开始在计算目标上运行。
正在完成 - 用户代码执行已完成,运行处于后处理阶段。
已请求取消 - 已请求取消作业。
已完成 - 运行已成功完成。 这包括用户代码执行和运行
后期处理阶段。
失败 - 运行失败。 通常,运行上的 Error 属性会提供有关原因的详细信息。
已取消 - 遵循取消请求并指示运行现已成功取消。
未响应 - 对于启用了检测信号的运行,最近未发送任何检测信号。
返回
作业的状态。