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。