你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

SweepJob 类

用于超参数优化的扫描作业。

继承
azure.ai.ml.entities._job.job.Job
SweepJob
azure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweep
SweepJob
azure.ai.ml.entities._job.job_io_mixin.JobIOMixin
SweepJob

构造函数

SweepJob(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, inputs: Dict[str, int | str | float | bool | Input] | None = None, outputs: Dict[str, Output] | None = None, compute: str | None = None, limits: SweepJobLimits | None = None, sampling_algorithm: str | SamplingAlgorithm | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, objective: Objective | None = None, trial: CommandJob | CommandComponent | None = None, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None, queue_settings: QueueSettings | None = None, **kwargs: Any)

参数

name
str

作业的名称。

display_name
str

作业的显示名称。

description
str

作业的说明。

tags
dict[str, str]

标记字典。 可以添加、删除和更新标记。

properties
dict[str, str]

资产属性字典。

experiment_name
str

将在下创建作业的试验的名称,如果提供“无”,则会在试验“默认”下创建作业。

identity
Union[ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]

训练作业在计算运行时将使用的标识。

inputs
dict

命令的输入。

outputs
dict[str, Output]

作业中使用的输出数据绑定的映射。

sampling_algorithm
str

用于 search_space的超参数采样算法。 默认为“random”。

search_space
Dict

超参数搜索空间的字典。 键是超参数的名称,值是参数表达式。

objective
Objective

要优化的指标。

compute
str

运行作业的计算目标。

trial
Union[CommandJob, CommandComponent]

每个试用版的作业配置。 每个试用版都将提供系统从search_space采样的不同超参数值组合。

early_termination
Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]

要使用的提前终止策略。 满足指定策略的条件时取消试运行作业。 如果省略此项,将不应用提前终止策略。

limits
<xref:azure.ai.ml.entities.SweepJobLimits>

扫描作业的限制。

queue_settings
QueueSettings

作业的队列设置。

kwargs
dict

其他配置参数的字典。

示例

创建 SweepJob


   from azure.ai.ml.entities import CommandJob
   from azure.ai.ml.sweep import BayesianSamplingAlgorithm, Objective, SweepJob, SweepJobLimits

   command_job = CommandJob(
       inputs=dict(kernel="linear", penalty=1.0),
       compute=cpu_cluster,
       environment=f"{job_env.name}:{job_env.version}",
       code="./scripts",
       command="python scripts/train.py --kernel $kernel --penalty $penalty",
       experiment_name="sklearn-iris-flowers",
   )

   sweep = SweepJob(
       sampling_algorithm=BayesianSamplingAlgorithm(),
       trial=command_job,
       search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
       inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},
       compute="top_level",
       limits=SweepJobLimits(trial_timeout=600),
       objective=Objective(goal="maximize", primary_metric="accuracy"),
   )

方法

dump

将作业内容转储到 YAML 格式的文件中。

set_limits

为“扫描”节点设置限制。 如果不想更新相应的值,请将参数保留为“无”。

set_objective

设置扫描对象。 如果不想更新相应的值,请将参数保留为“无”。

“最小化”、“最大化”。 :type 目标:str :关键字 (keyword) primary_metric:要优化的指标的名称。 :p aramtype primary_metric: str

dump

将作业内容转储到 YAML 格式的文件中。

dump(dest: str | PathLike | IO, **kwargs) -> None

参数

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
必需

要向其写入 YAML 内容的本地路径或文件流。 如果 dest 是文件路径,则将创建新文件。 如果 dest 是一个打开的文件,则该文件将直接写入。

kwargs
dict

要传递给 YAML 序列化程序的其他参数。

例外

如果 dest 是文件路径且文件已存在,则引发。

如果 dest 是打开的文件且文件不可写,则引发。

set_limits

为“扫描”节点设置限制。 如果不想更新相应的值,请将参数保留为“无”。

set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None

参数

max_concurrent_trials
int

最大并发试用次数。

max_total_trials
int

最大试用总数。

timeout
int

扫描节点的总超时(秒)

trial_timeout
int

每次试用的超时(以秒为单位)

例外

如果 dest 是文件路径且文件已存在,则引发。

如果 dest 是打开的文件且文件不可写,则引发。

set_objective

设置扫描对象。 如果不想更新相应的值,请将参数保留为“无”。

“最小化”、“最大化”。 :type 目标:str :关键字 (keyword) primary_metric:要优化的指标的名称。 :p aramtype primary_metric: str

set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None

参数

goal

定义超参数优化支持的指标目标。 可接受的值为:

例外

如果 dest 是文件路径且文件已存在,则引发。

如果 dest 是打开的文件且文件不可写,则引发。

属性

base_path

资源的基路径。

返回

资源的基路径。

返回类型

str

creation_context

资源的创建上下文。

返回

资源的创建元数据。

返回类型

early_termination

扫描作业的提前终止策略。

返回

扫描作业的提前终止策略。

返回类型

<xref:azure.ai.ml.entities._job.sweep.early_termination_policy.EarlyTerminationPolicy>

id

资源 ID。

返回

资源的全局 ID、Azure 资源管理器 (ARM) ID。

返回类型

inputs

limits

扫描作业的限制。

返回

扫描作业的限制。

返回类型

log_files

作业输出文件。

返回

日志名称和 URL 的字典。

返回类型

outputs

sampling_algorithm

扫描作业的采样算法。

返回

扫描作业的采样算法。

返回类型

status

作业的状态。

返回的常见值包括“正在运行”、“已完成”和“失败”。 所有可能的值为:

  • NotStarted - 这是客户端 Run 对象在云提交之前处于的临时状态。

  • 正在启动 - 运行已开始在云中处理。 调用方此时具有运行 ID。

  • 预配 - 正在为给定作业提交创建按需计算。

  • 准备 - 运行环境正在准备中,处于以下两个阶段之一:

    • Docker 映像生成

    • Conda 环境设置

  • 已排队 - 作业在计算目标上排队。 例如,在 BatchAI 中,作业处于排队状态

    等待所有请求的节点准备就绪时。

  • 正在运行 - 作业已开始在计算目标上运行。

  • 完成 - 用户代码执行已完成,运行处于后处理阶段。

  • 已请求取消 - 已请求取消作业。

  • 已完成 - 运行已成功完成。 这包括用户代码执行和运行

    后期处理阶段。

  • 失败 - 运行失败。 通常,运行上的 Error 属性会提供有关原因的详细信息。

  • 已取消 - 遵循取消请求并指示运行现已成功取消。

  • 未响应 - 对于启用了检测信号的运行,最近未发送任何检测信号。

返回

作业的状态。

返回类型

studio_url

Azure ML Studio 终结点。

返回

作业详细信息页的 URL。

返回类型

type

作业的类型。

返回

作业的类型。

返回类型