Skip to main content

版本 0.16

important

Trains 现在是 ClearML

Trains-Agent 0.16.2

功能

  • conda:

    • 添加 agent.package_manager.conda_env_as_base_docker 允许 "docker_cmd" 包含指向完整预打包 conda 环境的链接(由 conda-pack 创建的 tar.gz)。使用 TRAINS_CONDA_ENV_PACKAGE 环境变量来指定 conda tar.gz 文件。
    • 为只读预构建环境添加 conda 支持(在任务中将 conda 文件夹作为 docker_cmd 传递)。
    • 改进尝试查找 conda 可执行文件。
  • k8s 胶水:

    • 添加对有限数量服务暴露端口的支持。
    • 添加对k8s pod自定义用户属性的支持。
    • 允许为pod本身选择外部的trains.conf文件。
    • 允许提供pod模板、额外的bash初始化脚本、替代的SSH服务器端口、网关地址(k8s ingress / ELB)。
  • 允许在使用conda作为包管理器时,在“已安装包”部分指定cudatoolkit版本(GitHub 训练问题 229)。

  • 添加 agent.package_manager.force_repo_requirements_txt。如果为 True,任务中的“已安装包”将被忽略,仅使用仓库中的 requirements.txt

  • TRAINS_DOCKER_IMAGE传递给docker以进行交互式会话。

  • torchcsprngtorchtext添加到PyTorch解析中。

错误修复

  • 在记录日志时,读取文件/流的当前块时抑制"\r"。添加agent.suppress_carriage_return(默认为True)以支持之前的行为。
  • 确保每个挂载点仅使用一次TRAINS_AGENT_K8S_HOST_MOUNT
  • 修复k8s glue脚本以训练代理默认docker脚本。
  • 修复仅从子模块应用git diff。
  • conda:
    • 修复conda pip freeze以与trains 0.16.3保持一致。
    • 修复conda环境对trains 0.16.3完整环境的支持。添加agent.package_manager.conda_full_env_update以允许conda更新回需求(默认False,以保留以前的行为)。
    • 修复从conda环境运行的问题 - 在第一个conda PATH匹配中未找到conda.sh
  • 通过确保不要求输入来修复docker模式下的ubuntu / debian支持(修复tzdata安装)。
  • 修复仓库检测 - 忽略环境 SSH_AUTH_SOCK,仅检查是否配置了 git 用户/密码。
  • git diff:
    • 修复对非ASCII差异的支持。
    • 修复在末尾有空行时会导致差异应用消息损坏的问题。
    • 允许零上下文差异(在盲目修补存储库时有用)。
  • 修复当无法定位代理UID时的daemon --stop
  • 修复某些Linux发行版(SUSE)上的nvidia docker支持。
  • 修复nvidia pytorch dockers支持。
  • 修复 torch CUDA 11.1 支持。
  • 修复在pip中带有空条目的需求字典应被视为从仓库的requirements.txt中安装None。

训练代理 0.16.1

功能

  • 添加sdk.metrics.plot_max_num_digits配置选项以减少绘图存储大小。
  • 添加 agent.package_manager.post_packagesagent.package_manager.post_optional_packages 配置选项以控制包的安装顺序(例如 horovod)。
  • 添加agent.git_host配置选项,用于限制特定主机的git凭证使用(可使用TRAINS_AGENT_GIT_HOST环境变量覆盖)。
  • 添加 agent.force_git_ssh_port 配置选项,以控制非标准SSH端口的HTTPS到SSH链接转换。
  • 添加需求检测功能。改进对检测新pip版本(20+)的支持,支持package @ scheme://link

错误修复

  • 修复了在安装git包wheel时忽略预安装包的问题。重新安装git+http链接足以确保所有需求得到满足/安装(GitHub Issue #196)。
  • 修复当前执行文件夹中空格检查不正确的问题。
  • 修复需求检测:
    • 在使用下载的/系统预安装的版本后更新torch版本。
    • 当使用新的pip版本时,不要重复安装git包(pip freeze将检测到正确的git链接版本)。

训练代理 0.16.0

功能

  • 添加agent.docker_init_bash_script配置部分,以允许更精细地控制Docker启动脚本。
  • 将默认的Docker镜像从nvidia/cuda更改为nvidia/cuda:10.1-runtime-ubuntu18.04以支持cudnn框架(例如TF)。
  • 改进对预装conda环境的Dockers的支持。
  • 改进 trains-agent-docker 的启动。
  • 添加 daemon --order-fairness 用于轮询队列拉取。
  • 添加 daemon --stop 以终止正在运行的代理(假设其他参数相同)。如果没有其他参数,代理将按字典顺序终止。
  • 支持在终止时清理所有日志文件,除非使用--debug执行。
  • 在启动时无法访问Trains API服务器时添加错误消息。

错误修复

  • 修复GPU Windows监控支持 (GitHub Issue #177).
  • 修复 .git-credentials.gitconfig 映射到 docker 中的问题。
  • 修复非root用户使用docker镜像的问题。
  • 修复docker以使用UTF-8编码,这样打印不会破坏它。
  • 修复 --debug 以将所有记录器设置为 DEBUG
  • 修复任务状态在任务运行时不应更改为queued的问题。
  • 修复 requirement_parser 以支持 package @ git+http 行。
  • 修复需求中的GIT用户/密码以及对-e git+http行的支持。
  • 修复配置向导以生成与最新Trains定义匹配的trains.conf