目录

torchx.runner 中

torchx.runner 中。get_runner名称 可选[str] = **scheduler_params: 任意torchx.runner.api.Runner[来源]

构造和获取 Runner 对象的便捷方法。

torchx.runner 中。Runner名称str调度程序Dict[str torchx.schedulers.api.Scheduler]wait_interval int = 10[来源]

Torchx 单个组件运行程序。具有用户 作用于 。是有状态的,并且 表示用户的逻辑工作区。它可以由服务提供支持 (例如 Torchx 服务器)用于持久化,也可以是独立无持久化 这意味着 仅在托管期间持续 进程(请参阅 API 以获取有关重新设置应用程序父级的说明 在会话之间)。AppDefsRunnerRunnerattach()

describeapp_handle: str可选[torchx.specs.api.AppDef][源代码]

在给定应用程序句柄的情况下(在最佳程度上)重建应用程序。 请注意,重建的应用程序可能不是完整的应用程序 它是通过 run API 提交的。可以重建多少应用程序 取决于调度程序。

返回

AppDef 或 None(如果应用程序不再存在,或者如果 scheduler 不支持描述 app 句柄

dryrunapp torchx.specs.api.AppDefscheduler str = 'default'cfg 可选[torchx.specs.api.RunConfig] = torchx.specs.api.AppDryRunInfo[来源]

Dry 使用提供的运行配置在给定的调度器上运行应用程序。 实际上并未提交应用程序,而是返回本应提交的内容 提交。返回的 is formatted and can 直接打印或记录。AppDryRunInfo

用法:

dryrun_info = session.dryrun(app, scheduler="local", cfg)
print(dryrun_info)
listDict[str torchx.specs.api.AppDef][来源]

返回使用应用程序句柄映射的此会话运行的应用程序。 会话的持久性取决于实现。

log_linesapp_handle: strrole_name strk int = 0regex 可选[str] = 因为可选[datetime.datetime] = 直到 可选[datetime.datetime] = Noneshould_tail: bool = falseIterable[str][源代码]

返回指定作业容器的日志行的迭代器。

注意

  1. k是节点(主机)ID 而不是 .rank

  2. since并且不需要总是遵守 (取决于 scheduler)。until

警告

返回的迭代器的语义和保证是高度的 依赖于 scheduler。有关此日志迭代器的高级语义,请参见。因此 强烈建议不要使用此方法生成输出 传递给下游函数/依赖项。此方法 不保证返回 100% 的日志行。 此方法返回 no 或 partial log 行是完全有效的 如果调度程序已完全或部分清除日志记录 对于应用程序。torchx.specs.api.Scheduler.log_iter

用法:

app_handle = session.run(app, scheduler="local", cfg=RunConfig())

print("== trainer node 0 logs ==")
for line in session.log_lines(app_handle, "trainer", k=0):
   print(line)

不鼓励的反模式:

# DO NOT DO THIS!
# parses accuracy metric from log and reports it for this experiment run
accuracy = -1
for line in session.log_lines(app_handle, "trainer", k=0):
   if matches_regex(line, "final model_accuracy:[0-9]*"):
       accuracy = parse_accuracy(line)
       break
report(experiment_name, accuracy)
参数
  • app_handle – 应用程序句柄

  • role_name – 应用程序中的角色(例如,培训师)

  • k – 要获取其日志的角色的第 k 个副本

  • regex – 可选的正则表达式过滤器,如果留空,则返回所有行

  • Since – 基于日期时间的开始游标。如果留空,则从 第一行日志 (Job 开始)。

  • until – 基于日期时间的结束游标。如果留空,则遵循日志输出 直到作业完成并且所有日志行都已用完。

返回

指定应用程序的角色第 k 个副本的迭代器。

提高

UnknownAppException – 如果计划程序中不存在该应用程序

runapp torchx.specs.api.AppDefscheduler str = 'default'cfg 可选[torchx.specs.api.RunConfig] = str[源]

在指定模式下运行给定的应用程序。

注意

应该实现方法的子类 而不是直接覆盖此方法。Sessionschedule

返回

用于在应用程序上调用其他作 API 的应用程序句柄。

提高

AppNotReRunnableException – 如果会话/计划程序不支持重新运行附加的应用程序

run_from_pathcomponent_path: strapp_args: List[str]scheduler str = 'default'cfg 可选[torchx.specs.api.RunConfig] = Nonedryrun bool = Falsestr[来源]

在指定模式下解析并运行应用程序。

根据指定模式检索应用程序并运行应用程序。component_path

的分辨率顺序如下(从高 pri 到低 pri):component_path
  • 用户注册的组件。用户可以通过

    https://packaging.python.org/specifications/entry-points/。方法查找 组中的入口点。torchx.components

  • 格式为: .relative 和$FILE_PATH:FUNCTION_NAME

    支持的绝对路径。

  • 相对于 torchx.components 的内置组件。组件的路径应

    是相对于 torchx.components 的模块名称和函数名称,格式为: 。$module.$function

用法:

runner.run_from_path("distributed.ddp", ...) - will be resolved to
   ``torchx.components.distributed`` module and ``ddp`` function.


runner.run_from_path("~/home/components.py:my_component", ...) - will be resolved to
   ``~/home/components.py`` file and ``my_component`` function.
返回

一个应用程序句柄,用于在应用程序上调用其他作 API,或者如果指定了 dryrun。<NONE>

提高
  • AppNotReRunnableException – 如果会话/计划程序不支持重新运行附加的应用程序

  • ValueError – 如果 无法解决。component_path

run_optsDict[str torchx.specs.api.runopts][来源]

返回支持的调度程序后端的 。runopts

用法:

local_runopts = session.run_opts()["local"]
print("local scheduler run options: {local_runopts}")
返回

调度程序后端到其runopts

scheduledryrun_info: torchx.specs.api.AppDryRunInfostr[来源]

实际上,从给定的 dryrun 信息运行应用程序。 当需要覆盖调度器中的参数时很有用 请求,该请求无法从其中一个对象 API 进行配置。

警告

谨慎使用,因为滥用此方法来覆盖 原始调度程序请求中的许多参数可能会 导致您对 TorchX 的使用不合规 从长远来看。此方法旨在 取消阻止用户尝试某些 短期内没有 Scheduler 特定的功能 必须等到 TorchX 公开调度器功能 在其 API 中。

注意

建议 的子类实现 此方法,而不是直接实现该方法。Sessionrun

用法:

dryrun_info = session.dryrun(app, scheduler="default", cfg)

# overwrite parameter "foo" to "bar"
dryrun_info.request.foo = "bar"

app_handle = session.submit(dryrun_info)
scheduler_backendsList[str][来源]

返回所有支持的调度程序后端的列表。 所有会话实现都必须支持 “default” scheduler 后端并记录默认的 scheduler 是。

statusapp_handle str可选[torchx.specs.api.AppStatus][来源]
返回

应用程序的状态,或者应用程序是否不再存在 (例如,在过去停止并从调度器的后端中删除)。None

stopapp_handle: strNone[来源]

停止应用程序,有效地指示调度程序取消 工作。如果应用程序不存在,则不执行任何作。

注意

此方法在取消请求后立即返回 已提交到调度程序。应用程序将处于某种状态,直到调度程序实际终止 工作。如果调度程序成功中断作业 并终止它,则最终状态将为 ,否则它将是 。RUNNINGCANCELLEDFAILED

waitapp_handle str可选[torchx.specs.api.AppStatus][来源]

Block (无限期) 等待应用程序完成。 可能的实现方式:

while(True):
    app_status = status(app)
    if app_status.is_terminal():
        return
    sleep(10)
返回

应用程序的终端状态,或者应用程序是否不再存在None

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源