版本 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以进行交互式会话。 -
将
torchcsprng
和torchtext
添加到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_packages
和agent.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
。