版本 0.16
important
Trains 现在是 ClearML。
Trains 0.16.4
功能
- 添加 Hydra 支持 (GitHub 训练问题 219).
- 添加cifar ignite示例(GitHub 训练问题 237)。
- 在使用
StorageManager
时添加自动解压tar.gz
文件的功能(GitHub 训练问题 237)。 - 添加
Task.init()
参数auto_connect_streams
控制标准输出 / 标准错误 / 日志捕获 (GitHub 训练问题 181). - 使用
sdk.development.worker.console_cr_flush_period
配置设置添加回车刷新支持(GitHub 训练问题 181)。 - 添加
Task.create_function_task()
以允许使用函数和参数创建新任务,以便远程执行 (GitHub 训练问题 230)。 - 允许使用
Task.setup_upload()
参数verify
或AWS S3存储桶配置verify
属性来禁用SSL证书验证(GitHub 训练问题 256)。 - 添加
StorageManager.get_files_server()
。 - 使用项目名称添加
Task.get_project_id()
。 - 添加
project_name
参数到Task.set_project()
。 - 添加对类/实例对象的
Task.connect()
支持。 - 添加
Task get_configuration_object()
和Task.set_configuration_object()
以便更轻松地进行自动化。 - 改进自动扩展器 - 允许额外的配置,键名和安全组现在是可选的,默认使用空字符串。
- 使用内置的 matplotlib 转换器。
- 添加报告文本作为调试示例。
错误修复
- 修复 Optuna HPO 参数序列化问题 (GitHub trains Issue 254).
- 修复连接字典
''
转换为None
的问题 (GitHub 训练问题 258). - 修复 lightgbm 绑定关键字参数问题 (GitHub 训练问题 251).
- 修复了如果工件主体是远程URI时的工件预览问题(GitHub 训练问题 239)。
- 修复了
StorageManager
上传中的无限递归问题(GitHub 训练问题 253)。 - 修复仅在文件名相同时重用Keras模型对象的问题(GitHub 训练问题 252)。
- 修复在没有配置的情况下远程运行不应崩溃,而应输出警告(GitHub 训练问题 243)。
- 修复对matplotlib 3.3.3的支持:
- 修复全局图形枚举。
- 修复没有标题时报告单个图(
untitled 00
)而不是增加计数器的问题。
- 修复 Python 2.7 / 3.5 支持。
- 修复报告调试图像时的引号问题。
- 修复上传文件中的替换引号安全字符,以包括
;=@$
。 - 修复从另一个进程调用的
at_exit
应该被忽略。 - 修复已完成/已发布任务的
Task.set_tags()
。 - 修复了在远程运行时
Task.add_tags()
无法正常工作的问题。 - 修复
Task.set_user_properties()
的文档字符串和接口。 - 修复了使用 JSON (字典) 工件预览时未存储工件的问题。
- 修复了在使用
Task.create()
创建的任务上不支持Logger.report_text()
的问题。 - 修复torch的初始化:仅在加载了torch时调用torch
get_worker_info
。 - 修复辅助任务(通过
Task.get_task()
获取)上的刷新(等待)应该等待所有上传事件。 - 修复了在远程运行时未使用代码中的默认值更新服务器且缺少配置部分的问题。
- 修复了包含
None
默认值的连接字典,阻止了远程执行传递字符串而不是None的问题。 - 修复了
Task.upload_artifact()
参数delete_after_upload=True
与wait_for_upload=True
一起使用时不受支持的问题。
Trains 0.16.3
功能
- 添加 LightGBM 支持。
- 添加初始的Hydra支持(GitHub 训练问题 219)。
- 为
Task.upload_artifact()
添加同步支持(GitHub 训练问题 231)。 - 添加
sdk.development.store_code_diff_from_remote
(默认false
)以存储与远程 HEAD 的差异,而不是本地 HEAD(GitHub 训练问题 222)。 - 添加
sdk.development.detect_with_conda_freeze
(默认true
)以进行完整的 conda freeze(需要 trains-agent >= 16.2)。 - Add user attribute support in the Task object.
- 添加
Logger.report_table()
支持将表格作为列表的列表。 - 添加支持以在管道DAG图中拆分DAG和表。管道DAG的单个节点现在在DAG图下方显示为圆形。
- 添加管道/优化可以附加到任何任务(不仅仅是当前任务)。
- 添加
force_download
标志到StorageManager.get_local_copy()
。 - 使用
Task.upload_artifact()
的preview
参数添加对工件预览的控制。 - 添加
Logger.report_matplotlib_figure()
并附上示例。 - 添加
Task.set_task_type()
。 - 改进AWS自动扩展器:
- 添加密钥对和安全组支持。
- 为额外的bash脚本和额外的
trains.conf
数据添加多行支持。
- Update example.
错误修复
- 修复
Task.update_output_model()
参数顺序错误 (GitHub 训练问题 220). - 修复在远程模式下使用argparse解析时初始化任务的问题。不要调用
Task.init()
以避免自动连接,改用Task.get_task()
。 - 修复检测到的任务工作目录在仓库根文件夹之外的问题。
- 修复
Task.connect(dict)
将不存在的条目放置在部分名称而不是通用部分。 - 修复
Task.clone()
对 trains-server < 0.16 的支持。 - 修复
StorageManager
缓存提取压缩文件。使用修改时间而不是访问时间作为缓存文件的时间。 - 修复了diff命令输出被剥离的问题。
- 确保具有多个文件的本地包被标记为
package
。 - 修复
Task.set_base_docker()
在远程运行时应该跳过。 - 修复ArgParser对具有布尔默认值的字符串参数的处理(影响PyTorch Lightning集成)。
- 使用
detect_with_pip_freeze
时,请确保将package @ file://
行替换为package==x.y.z
,因为本地文件可能不可用。 - 修复git包以符合新的pip标准
package @ git+
。 - 改进conda包命名
_
和-
的支持。 - Do not add a specific version of setuptools in requirements (pip cannot install it anyway).
- 修复从文件路径上传时的图片URL引用问题。
Trains 0.16.2
功能
- 添加
Task.set_resource_monitor_iteration_timeout()
以设置 ResourceMonitor 迭代等待持续时间超时 (GitHub 训练问题 208). - 添加 PyTorch Lightning 保存/恢复模型绑定 (GitHub 训练问题 212).
- 为仓库子模块添加
git diff
(需要 git 2.14 或更高版本)。 - 添加
TrainsJob.is_completed()
和TrainsJob.is_aborted()
。 - 添加
Task.logger
属性。 - 添加管道控制器自动化和示例(参见这里)。
- 在
trains.debugging.trace.trace_trains()
中添加改进的跟踪过滤功能。 - 在ArgParser绑定中为每个参数添加默认帮助(如果未提供)。
- 弃用
Task.reporter
。 - 更新 PyTorch 示例。
- 移除跳过自动魔法模型记录时的警告(GitHub 训练问题 206)。
- 支持对Network、Model和Sequential进行Keras重构。
- 根据https://github.com/keras-team/autokeras#installation更新autokeras的要求。
错误修复
- 修复了在压缩流上失败的joblib自动日志记录模型(GitHub 训练问题 203)。
- 修复发送空报告的问题 (GitHub 训练问题 205).
- 修复 scatter2d 子采样和四舍五入。
- 修复图表报告:
NaN
表示(matplotlib 转换)。- 限制图表中的数字位数以减少图表大小(使用
sdk.metrics.plot_max_num_digits
配置值)。
- 修复
Task.wait_for_status()
在结束后重新加载的问题。 - 修复线程等待Ctrl-C中断未退出进程的问题。
- Improved Windows support for analyzing installed packages.
- 修复使用相对路径的自动模型记录。
- 修复超参数优化示例。
- 修复在使用 TrainsServer < 0.16.0 时的
Task.clone()
问题。 - 修复pandas工件处理。
- 避免添加
unnamed:0
列。 - 返回原始的pandas对象。
- 修复
TrainsJob
超参数覆盖顺序未得到保证的问题。 - 修复ArgParse自动连接以支持默认函数类型。
Trains 0.16.1
功能
- Enhanced hyperparameter optimizer.
错误修复
- 修复
Python<3.5
的输入依赖问题 (GitHub 训练问题 184). - 修复git+https需求处理,解决top_level.txt包名称问题(未检测到来自git的kerastuner)。
- 修复
Task.get_reported_console_output()
以支持新的Trains Server API v2.9。 - 修复不同分区/驱动器/设备的缓存处理。
- Disable offline mode when running remotely (i.e., executed by Trains Agent).
- 修复工件上传,仅在上传非本地存储文件时使用文件流(流上传不支持多部分上传)(GitHub 训练问题 189)。
- 修复连接OutputModel时双重转义的模型设计文本。
Trains 0.16.0
功能
- 添加继续执行先前实验的功能。添加
Task.init()
参数continue_last_task
以继续先前使用的任务(GitHub Issue #160)。 - 允许从代码中编辑/创建任务。
Task.export_task/import_task/update_task()
(GitHub Issue #128). - 添加离线模式。使用
Task.set_offline()
和Task.import_offline_session()
:- 支持通过
TRAINS_OFFLINE_MODE=1
环境变量设置离线模式。 - 支持通过
TRAINS_OFFLINE_MODE=2.9
环境变量设置离线API版本。
- 支持通过
- 自动将所有上传为工件的对象进行pickle处理,
task.upload_artifact()
参数auto_pickle=True
(GitHub Issue #153). - 为任务超参数添加多个部分/组支持,使用
Task.connect()
。 - 使用
Task.connect_configuration()
添加多个配置(文件)。 - 允许使用
sdk.development.log_os_environments
配置参数启用操作系统环境日志记录(补充了TRAINS_LOG_ENVIRONMENT
环境变量)。 - 为超参数优化控制器添加Optuna支持。
OptimizerOptuna
现在是默认的优化器。 - 添加初始的Keras-Tuner支持 (GitHub Issue keras-team/keras-tuner #334).
- 添加自动FastAI日志记录。如果加载了Tensorboard(假设将使用TensorBoardLogger),则禁用此功能。
- 支持将Tensorboard文本日志记录(
add_text()
)作为调试样本(.txt
文件),而不是控制台输出。 - 允许更标准的混淆矩阵报告。
Logger.report_confusion_matrix()
参数yaxis_reversed
(如果为True
则翻转混淆矩阵,默认为False
)(GitHub Issue #165)。 - 添加对Trains Server 0.16.0的支持(支持API v2.9)。
- 允许使用
TRAINS_SUPPRESS_UPDATE_MESSAGE
环境变量从日志中禁用Trains更新消息(GitHub Issue #157)。 - 添加AWS EC2自动扩展服务向导和服务。
- 改进和更新的示例:
- 添加Keras Tuner CIFAR10示例。
- 添加FastAI示例。
- 更新PyTorch Jupyter笔记本示例(GitHub Issue #150)。
- 支持使用
pip freeze
进行全局需求检测(在trains.conf
中设置sdk.development.detect_with_pip_freeze
配置)。 - 添加
Task.get_projects()
以获取系统中的所有项目,按最后更新时间排序。
错误修复
- 修复评论中的UTC到时间戳 (GitHub Issue #152).
- 修复和增强GPU监控:
- 修复Windows机器上的GPU统计信息(GitHub Issue #177)。
- 更健壮的GPU监控(GitHub Issue #170)。
- 修复文件名过长的错误 (GitHub trains-server 问题 #49).
- 修复TensorFlow图像日志记录,以允许没有宽度/高度/颜色元数据的图像(GitHub Issue #182)。
- 修复多进程池在池中抛出异常时导致执行挂起的问题。调用原始信号处理程序并重新刷新
stdout
。 - 修复
plotly
对matplotlib
3.3 的支持。 - 为
get_current_thread_id()
添加Python 2.7支持。 - 更新示例需求。
- 修复并改进信号处理。
- 修复 Tensorboard 2D 卷积直方图,提高在非常小的直方图上的直方图准确性。
- 修复在
Task.init()
之前自动记录多个argparse调用的问题。 - 将实验的Git差异日志限制为500Kb。如果超过500Kb,差异部分将包含一个警告,并且整个差异将作为一个名为
auxiliary_git_dif
的工件上传。 - 修复需求检测:
- 修复从
git+
安装的Trains。 - 修复当Trains未被直接导入时的情况。
- 修复未检测到多个
-e
包的问题(仅检测到第一个)。 - 修复在
PYTHONPATH
中运行Trains导致trains重复录入的问题。
- 修复从
- 修复
Task.set_base_docker()
在主任务上,在远程运行时不做任何操作。