实用程序¶
它包含 TorchX 实用程序组件,这些组件可以 直接使用。这些组件只是执行知名二进制文件(例如 cp
)的组件,旨在用作教程材料或工作流中重要阶段之间的粘合操作。
- torchx.components.utils.echo(msg: str = 'hello world', image: str = 'ghcr.io/pytorch/torchx:0.7.0', num_replicas: int = 1) AppDef [source]¶
将消息回显到标准输出(调用 echo)
- 参数:
msg – 要回显的消息
image – 要使用的镜像
num_replicas – 要运行的副本数
- torchx.components.utils.touch(file: str, image: str = 'ghcr.io/pytorch/torchx:0.7.0') AppDef [source]¶
触摸一个文件(调用 touch)
- 参数:
file – 要创建的文件
image – 要使用的镜像
- torchx.components.utils.sh(*args: str, image: str = 'ghcr.io/pytorch/torchx:0.7.0', num_replicas: int = 1, cpu: int = 1, gpu: int = 0, memMB: int = 1024, h: Optional[str] = None, env: Optional[Dict[str, str]] = None, max_retries: int = 0, mounts: Optional[List[str]] = None) AppDef [source]¶
通过 sh 运行提供的命令。目前 sh 不支持环境变量替换。
- 参数:
args – bash 参数
image – 要使用的镜像
num_replicas – 要运行的副本数
cpu – 每个副本的 CPU 数量
gpu – 每个副本的 GPU 数量
memMB – 每个副本的 CPU 内存(以 MB 为单位)
h – 注册的命名资源(如果指定,则优先于 cpu、gpu、memMB)
env – 要传递给运行的环境变量(例如 ENV1=v1,ENV2=v2,ENV3=v3)
max_retries – 允许的调度程序重试次数
mounts – 要挂载到工作环境/容器中的挂载点(例如 type=<bind/volume>,src=/host,dst=/job[,readonly])。有关更多信息,请参阅调度程序文档。
- torchx.components.utils.copy(src: str, dst: str, image: str = 'ghcr.io/pytorch/torchx:0.7.0') AppDef [source]¶
copy 将文件从 src 复制到 dst。src 和 dst 可以是任何有效的 fsspec url。
不支持递归复制或目录。
- 参数:
src – 源 fsspec 文件位置
dst – 目标 fsspec 文件位置
image – 包含复制应用程序的镜像
- torchx.components.utils.python(*args: str, m: Optional[str] = None, c: Optional[str] = None, script: Optional[str] = None, image: str = 'ghcr.io/pytorch/torchx:0.7.0', name: str = 'torchx_utils_python', cpu: int = 1, gpu: int = 0, memMB: int = 1024, h: Optional[str] = None, num_replicas: int = 1) AppDef [source]¶
在指定的镜像和主机上运行
python
,并使用指定的模块、命令或脚本。使用--
分隔组件参数和程序参数(例如torchx run utils.python --m foo.main -- --args to --main
)- 注意:(cpu、gpu、memMB)参数与
h
(命名资源)互斥,其中 h
如果指定,则优先于设置资源需求。请参阅 注册命名资源。
- 参数:
args – 传递给程序的 sys.argv[1:] 中的参数(在 –c 中忽略)
m – 作为脚本运行库模块
c – 作为字符串传递的程序(如果调度程序对参数有长度限制,则可能会出错)
script – 要运行的 .py 脚本
image – 要运行的镜像
name – 作业名称
cpu – 每个副本的 CPU 数量
gpu – 每个副本的 GPU 数量
memMB – 每个副本的 CPU 内存(以 MB 为单位)
h – 注册的命名资源(如果指定,则优先于 cpu、gpu、memMB)
num_replicas – 要运行的副本数量(每个副本都在自己的容器中)
- 返回:
- 注意:(cpu、gpu、memMB)参数与
- torchx.components.utils.booth(x1: float, x2: float, trial_idx: int = 0, tracker_base: str = '/tmp/torchx-util-booth', image: str = 'ghcr.io/pytorch/torchx:0.7.0') AppDef [source]¶
评估 Booth 函数,
f(x1, x2) = (x1 + 2*x2 - 7)^2 + (2*x1 + x2 - 5)^2
。可以通过FsspecResultTracker(outdir)[trial_idx]
访问输出结果- 参数:
x1 – x1
x2 – x2
trial_idx – 如果没有运行 HPO,则忽略
tracker_base – 跟踪器基本输出目录的 URI(例如 s3://foo/bar)
image – 包含 Booth 应用程序的镜像
- torchx.components.utils.binary(*args: str, entrypoint: str, name: str = 'torchx_utils_binary', num_replicas: int = 1, cpu: int = 1, gpu: int = 0, memMB: int = 1024, h: Optional[str] = None) AppDef [source]¶
测试组件
- 参数:
args – 传递给程序的 sys.argv[1:] 中的参数(在 –c 中忽略)
name – 作业名称
num_replicas – 要运行的副本数量(每个副本都在自己的容器中)
cpu – 每个副本的 CPU 数量
gpu – 每个副本的 GPU 数量
memMB – 每个副本的 CPU 内存(以 MB 为单位)
h – 注册的命名资源(如果指定,则优先于 cpu、gpu、memMB)
- 返回: