Skip to main content

ClearmlJob

class automation.ClearmlJob()

基于base_task_id创建一个具有不同参数集的新任务

  • 参数

    • base_task_id (str ) – 克隆的基础任务ID

    • parameter_override (dict ) – 用于设置克隆任务的参数和值的字典

    • task_overrides (dict ) – 任务对象特定的覆盖。 例如 {'script.version_num': None, 'script.branch': 'main'}

    • configuration_overrides (可选 [ 映射 [ str *, * 联合 [ str *, * 映射 ] ] ] ) – 可选,覆盖任务配置对象。 预期的配置对象名称和配置对象内容的字典。 示例:

    {'config_section': dict(key='value')} {'config_file': '配置文件内容'} {'OmegaConf': YAML.dumps(full_hydra_dict)}

    • tags (list ) – 添加到新克隆任务的附加标签

    • parent (str ) – 设置新创建任务的父任务字段,默认值:base_tak_id。

    • kwargs (dict ) – 额外的任务创建参数

    • disable_clone_task (bool ) – 如果为False(默认),克隆基础任务ID。 如果为True,直接使用base_task_id(基础任务必须处于草稿模式/已创建),

    • allow_caching (bool ) – 如果为True,检查是否有一个之前执行的具有相同规格的Task。 如果有,使用它并设置内部的is_cached标志。默认为False(总是创建新的Task)。

    • bool **] ** output_uri (Union [ str , ) – 此作业的存储/输出URL。这是输出模型和其他工件的默认位置。有关更多信息,请查看Task.init参考文档(output_uri是一个参数)。

    • target_project (str ) – 可选,设置目标项目名称以创建克隆的任务。

    • enable_local_imports (bool ) – 如果为True,允许作业通过将PYTHONPATH sys.path[0]附加到本地文件进行导入。 如果为False,当前路径目录将不会附加到PYTHONPATH。默认值为True。 在远程运行时忽略。


中止

abort()

中止当前正在运行的作业(可以多次调用)

  • 返回类型

    ()


删除

delete()

删除当前的临时任务(在启动之前) 如果任务/作业无法删除,则返回False

  • 返回类型

    bool


已用时间

elapsed()

返回自作业开始以来的时间(以秒为单位)。如果作业仍在挂起,则返回-1。

  • 返回类型

    float

  • 返回

    从开始算起的秒数。


获取控制台输出

get_console_output(number_of_reports=1)

返回由任务报告的控制台输出列表。 返回的控制台输出是从最新的控制台输出中检索的。

  • 参数

    number_of_reports (int ) – 返回的报告数量,默认为1,即最后(最新)的控制台输出

  • 返回类型

    Sequence[str]

  • 返回

    每个条目对应一个报告的字符串列表。


获取指标

get_metric(title, series)

从正在运行的任务中检索特定的标量指标。

  • 参数

    • title (str ) – 图表标题(指标)

    • series (str ) – 特定图表上的系列(变体)

  • 返回类型

    (float, float, float)

  • 返回

    最小值、最大值、最后一个值的元组


is_aborted

is_aborted()

如果作业已执行并中止,则返回 True

  • 返回类型

    bool

  • 返回

    任务当前处于中止状态


is_cached_task

is_cached_task()

  • 返回类型

    bool

  • 返回

    如果内部任务是缓存的,则为True,否则为False。


已完成

is_completed()

如果作业已执行并成功完成,则返回 True

  • 返回类型

    bool

  • 返回

    任务当前处于已完成或已发布状态


is_failed

is_failed()

如果作业已执行并失败,则返回 True

  • 返回类型

    bool

  • 返回

    任务当前处于失败状态


is_pending

is_pending()

如果任务正在等待执行,则返回 True

  • 返回类型

    bool

  • 返回

    如果任务当前已排队,则为True。


is_running

is_running()

如果作业当前正在运行,则返回True(待定被视为False)

  • 返回类型

    bool

  • 返回

    如果任务当前正在进行中,则为True。


is_stopped

is_stopped(aborted_nonresponsive_as_running=False)

如果作业完成执行(无论出于何种原因),则返回 True

  • 参数

    aborted_nonresponsive_as_running (bool) – (默认值: False) 如果为True,当后端无响应看门狗将此任务设置为停止时,忽略停止状态。这种情况可能发生在运行作业的实例在没有警告的情况下被终止时(例如,spot实例)

  • 返回类型

    bool

  • 返回

    如果任务当前处于以下状态之一,停止/完成/失败/发布。


迭代次数

iterations()

返回当前作业的最后一次迭代值。如果作业尚未开始,则返回-1

  • 返回类型

    int

  • 返回

    任务最后一次迭代。


启动

启动(queue_name=None)

在请求的执行队列上发送作业以执行

  • 参数

    queue_name (str ) –

  • 返回类型

    布尔

:return 如果任务不在“created”状态(即无法入队)或无法入队,则返回False

  • 返回类型

    bool

  • 参数

    queue_name (可选 [ str ] ) –


ClearmlJob.register_hashing_callback

classmethod register_hashing_callback(a_function)

允许自定义用于哈希任务的字典。 提供的函数将使用表示任务的字典进行调用, 允许返回表示字典的修改版本。

  • 参数

    a_function (Callable[[dict], dict]) – 操作函数表示字典的函数

  • 返回类型

    None


开始

started()

如果作业已经启动或结束,则返回True。如果创建/挂起,则返回False。

  • 返回类型

    bool

  • 返回

    如果任务当前处于草稿模式或待定状态,则为False。


状态

status(force=False)

返回作业任务的当前状态。选项有:“created”(已创建)、“queued”(已排队)、“in_progress”(进行中)、“stopped”(已停止)、“published”(已发布)、“publishing”(发布中)、“closed”(已关闭)、“failed”(失败)、“completed”(已完成)、“unknown”(未知)。

  • 参数

    force (bool) – 强制状态更新,否则,每1秒只刷新一次状态

  • 返回类型

    str

  • 返回

    任务状态 Task.TaskStatusEnum 以字符串形式表示。


状态信息

status_message()

获取任务的状态消息。请注意,消息仅在调用 BaseJob.status() 后更新。

  • 返回类型

    str

  • 返回

    对应任务的状态信息,以字符串形式显示


任务ID

task_id()

返回任务ID。

  • 返回类型

    str

  • 返回

    任务ID。


ClearmlJob.update_status_batch

classmethod update_status_batch(jobs)

批量更新作业的状态

  • 参数

    jobs (Sequence [ BaseJob ] ) – 要更新状态的作业

  • 返回类型

    ()


等待

wait(timeout=None, pool_period=30.0, aborted_nonresponsive_as_running=False)

等待任务完全执行(即中止/完成/失败)

  • 参数

    • timeout (Optional[float]) – 等待任务完成的最大时间(分钟)

    • pool_period (float) – 每隔 pool_period 秒检查任务状态

    • aborted_nonresponsive_as_running (bool) – (默认值: False) 如果为True,当后端无响应看门狗将此任务设置为停止时,忽略停止状态。这种情况可能发生在运行作业的实例在没有警告的情况下被终止时(例如,spot实例)

  • 返回类型

    bool

  • 返回

    如果任务完成,则为True。


工作人员

worker()

返回当前执行此作业的工作者ID。如果作业处于挂起状态,则返回None

  • 返回类型

    Optional[str]

  • 返回

    执行或已执行作业的工作者的ID,如果作业仍在等待中则为None。