torchx.workspace¶
状态:Beta 版
工作区用于在现有映像上应用本地更改,以便您可以 在远程集群上执行您的代码。此模块包含使用的接口 由 Workspace 实施。
这些工作区被定义为一个路径,目录和
下的文件将用于生成补丁。fsspec
工作区路径示例:
file://.
当前工作目录
memory://foo-bar/
用于 Notebook/编程使用的内存工作区
- 类 torchx.workspace。WorkspaceMixin(*args: 对象, **kwargs: 对象)[来源]¶
注意:(原型)此界面如有更改,恕不另行通知!
可以附加到 Scheduler 的 Mix-in,该 Scheduler 将 构建工作区。工作区是代码库/项目的本地签出 构建成一个图像。工作区计划程序将功能添加到 自动重建镜像或生成 diff 补丁 应用于 ,允许用户创建本地代码 对应用程序的更改并反映这些更改 (通过新映像或叠加补丁)在运行时 无需手动重建映像。该 工作区生成构件取决于实现。
Role
- 抽象 build_workspace_and_update_role(role: Role, workspace: str, cfg: Mapping[str, 可选[Union[str, int, float, bool, List] [str]]]]) 无 [来源]¶
构建指定的 for to 并更新 以反映构建的工作区工件。 在最简单的情况下,此方法会生成新映像并更新 角色的映像。构建某些 (更高效的) 实施 Incremental diff 补丁,这些补丁覆盖在角色的映像之上。
workspace
img
role
注意:该方法会改变传递的 .
role
- torchx.workspace 中。walk_workspace(fs: AbstractFileSystem, 路径: str, ignore_name: str = '.torchxignore') Iterable[元组[str, Iterable[str], 映射[str, 映射[str, object]]]] [来源]¶
walk_workspace 遍历文件系统路径并应用 ignore 规则 通过 指定。 这遵循 的规则。https://docs.docker.com/engine/reference/builder/#dockerignore-file
ignore_name
.dockerignore
torchx.workspace.docker_workspace¶
- torchx.workspace.docker_workspace 类。DockerWorkspaceMixin(*args: object, docker_client: 可选[DockerClient] = None,**kwargs: 对象)[来源]¶
DockerWorkspaceMixin 将从工作区构建修补的 docker 镜像。这些 修补的镜像是 Docker 镜像,可以通过 docker 守护进程或使用帮助程序方法推送到远程存储库 远程作业。
这需要在本地运行 docker 守护进程并进行远程推送 需要通过 对这些存储库进行身份验证。
docker login
如果工作区中存在一个文件,该文件将 用于构建容器。
Dockerfile.torchx
docker build 提供了一些额外的 build 参数,这些参数可以是 在 Dockerfile.torchx 中使用:
IMAGE:AppDef 中第一个 Role 的 image 字符串
WORKSPACE:完整的工作区路径
要从构建上下文中排除文件,您可以使用标准 .dockerignore 文件。
查看更多:
- build_workspace_and_update_role(role: 角色, workspace: str, cfg: Mapping[str, 可选[Union[str, int, float, bool, List[str]]]) → 无[来源]¶
使用 的映像作为基础映像构建新的 Docker 映像 并使用这个新构建的 docker 镜像 ID 更新 的镜像
role
role
- 参数
role – 其镜像 (Docker 镜像) 将用作基础镜像的角色
workspace— 包含要覆盖内容的目录的 fsspec 路径
- dryrun_push_images(app: AppDef, cfg: Mapping[str, Optional[Union[str, int, float, bool, List[str]]]]) Dict[str, Tuple[str, str]] [来源]¶
_update_app_images 将提供的本地 Docker 镜像(通过 标识)替换为它们将上传到的远程路径,并且 返回本地名称到远程名称的映射。
sha256:...
AppDef
push
必须在 启动作业。- 结果
[local image name, (remote repo, tag)] 的字典。