版本 1.1
ClearML 1.1.6
功能
- 添加
Task.force_store_standalone_script()
以强制存储独立脚本而不是 Git 仓库引用 (ClearML GitHub issue #340) - 添加
Logger.set_default_debug_sample_history()
和Logger.get_default_debug_sample_history()
以允许通过编程控制最大调试样本 - 添加 populate 现在将函数参数类型存储为超参数的一部分
- 向
Task.mark_stopped()
添加status_message
参数 - 更改
HTTP
驱动程序的超时和重试代码(连接超时现在将触发重试)
错误修复
- 修复并升级SlackMonitor (ClearML GitHub issue #533)
- 修复网络问题,导致在没有发生状态变化时任务在状态变化时停止 (ClearML GitHub 问题 #535)
- 修复Pipeline控制器函数对字典作为输入参数的支持
- 修复在 threading 模式下从多个进程上传相同的 metric/variant 应为每个进程创建唯一文件的问题(因为全局计数器未在子进程之间传递)
- 修复在使用线程日志记录模式时,资源监控应仅在主进程中运行
- 修复分叉补丁,以便信号处理程序(
at_exit
)能够按时调用 - 修复在分叉函数末尾报告时,线程和子进程模式报告中的fork(进程池)挂起或丢失报告的问题
- 修复多管道支持
- 修复上传后删除工件的问题
- 修复工件预览没有真值的问题
- 修复了存储缓存清理在静默失败时未删除所有条目的问题
- 修复始终将会话缓存存储在
~/.clearml
中(无论缓存文件夹如何) - 修复
StorageManager.download_folder()
在 Windows 路径上失败的问题
ClearML 1.1.5
功能
- 添加对
jsonargpraser
的支持 (ClearML GitHub issue #403) - 添加
HyperParameterOptimizer.get_top_experiments_details()
返回表现最佳的实验的超参数和指标 (ClearML GitHub issue #473) - 允许使用环境变量(
CLEARML_SET_ITERATION_OFFSET
)或Task.init(continue_last_task==
覆盖初始迭代偏移 ( ClearML GitHub 问题 #496)) - 为 colab 中的
clearml-init
添加更好的输入处理 (ClearML GitHub 问题 #515) - 为默认请求方法添加环境变量 (ClearML GitHub issue #521)
- 添加
LocalClearmlJob
作为 HPO 的可能选项 (ClearML GitHub 问题 #525) - 为
clearml-data
添加便利功能(ClearML GitHub 问题 #526) - 添加对
vscode-jupyter
的支持 (microsoft/vscode-jupyter#8531) - 改进对运行中的报告子进程(包括僵尸状态)的检测
- 支持使用
clearml.conf
中的stream_connections
配置设置来控制S3/Google云存储的_stream_download_pool_connections
(默认值为128) - Add a warning when the report subprocess is lost
- 添加
Model.remove()
以允许从模型仓库中移除模型 - Add HTTP download timeout control (change the default connection timeout to 30 seconds)
- Add initial setup callback to the monitoring class
- 添加
Task.get_reported_plots()
- 允许
Monitor.get_query_parameters
覆盖默认值 - 添加对Google Cloud Storage
pool_connections
和pool_maxsize
覆盖的支持 - 将最后工作者的时间添加到
AutoScaler
- 添加警告当打开已中止的数据集时
- 在主流水线任务上存储多流水线执行图
- 支持管道返回值存储在管道任务上
- 添加
PipelineDecorator.multi_instance_support
- 将
PipelineDecorator
添加到clearml
和clearml.automation
命名空间 - 文档和示例
- 更新文档字符串 (ClearML GitHub 问题 #501)
- 在管道 Jupyter 笔记本中添加 Markdown (ClearML GitHub issue #502)
- 更新管道示例 (ClearML GitHub issue #494)
- 添加 abseil 示例 (ClearML GitHub issue #509)
- 将 README 更改为暗黑主题 (ClearML GitHub issue #513)
- 更新 XGBoost 示例 (ClearML GitHub issue #524)
- 更改示例名称 (ClearML GitHub 问题 #528)
错误修复
- 修复
TriggerScheduler
在数据集更改时的问题 (ClearML GitHub 问题 #491) - 修复Jupyter Notebooks中的链接 (ClearML GitHub issue #505)
- 修复
pandas
日期时间转换 (ClearML GitHub issue #510) - 修复
matplotlib
自动检测条形图系列名称的问题 (ClearML GitHub 问题 #518) - 修复存储服务(posix、对象存储)在存储目标工件时的路径限制,通过限制用于对象路径的项目名称(完整路径)和任务名称的长度(ClearML GitHub 问题 #516)
- 修复多进程上下文块捕获异常
- 修复了没有默认项目时Google Cloud Storage导致崩溃的问题
- 修复主进程报告子进程丢失的问题,切换回线程模式
- 修复分叉的
StorageHelper
应使用其自己的ThreadExecuter
- 修复本地
StorageHelper.delete()
在文件不存在时抛出异常而不是返回false的问题 - 修复
StorageHelper
在多访问情况下重命名部分文件时抛出错误的问题 - 修复资源监视器在权限问题上失败的问题(跳过部分)
- 修复重复使用任务时未重置的问题
- 修复支持
clearml
PyCharm 插件 1.0.2(支持部分 PyCharm git 仓库同步) - 修复
Task.reset()
的 force 参数无效的问题 - 修复PY3.5兼容性
- 修复验证错误导致无限循环的问题
- 修复任务模式以防止发送空的容器部分
- 修复缺失的
CLEARML_SET_ITERATION_OFFSET
定义 - 修复
Model.get_weights_package()
在出错时返回 None 的问题 - 根据
sdk.storage.log.report_download_chunk_size_mb
配置修复下载进度条 - 修复 Conda 列出已安装的
CudaToolkit
版本(供代理重现) - 修复 Jupyter 内核关闭导致嵌套的 atexit 回调使任务保持在运行状态的问题
- 修复多子进程可能导致任务在关闭时挂起的问题
- 修复 TF 2.7 支持(使用多个 TB 写入器获取
logdir
)
ClearML 1.1.4
错误修复
- 修复重复的关键字参数(影响
clearml-data
,Dataset.get()
)(ClearML GitHub 问题 #490) - 修复在离线模式下会话引发缺少主机错误的问题 (ClearML GitHub 问题 #489)
- 修复
Task.get_task()
未从存储的 Task 中加载output_uri
的问题 - 修复
Task.get_models()['input']
返回字符串而不是clearml.Model
- 修复
tf.saved_model.load()
对TensorFlow>=2.0
的绑定 - 修复了在连续的
Task.connect()
调用中,带有None
值的超参数转换为空字符串导致推断类型更改为str
的问题
ClearML 1.1.3
功能
- 添加对MegEngine的支持并提供示例 (ClearML GitHub issue #455)
- 将
TaskTypes
添加到主命名空间(ClearML GitHub 问题 #453) - 为使用Optuna进行超参数优化添加
LogUnifomParameterRange
(ClearML GitHub issue #462) - 将 joblib(等同于 scikit)添加到
Task.init(auto_connect_frameworks)
参数中 - 记录以
*
开头的环境变量在environ_bind.py
中(ClearML GitHub issue #459) - 管道
- 添加急切装饰的管道执行
- 支持标量/模型/工件的管道监控
- 添加
PipelineController.upload_model()
- 添加
PipelineController.add_step(configuration_overrides)
参数,允许覆盖任务配置对象 - 更改
PipelineController.start_locally()
默认run_pipeline_steps_locally=False
- 添加
PipelineController.stop(mark_failed, mark_aborted)
参数 - 添加
PipelineController.run_locally
装饰器 - 添加
PipelineController.continue_on_fail
属性 - 添加
PipelineController.__init__(abort_on_failure)
参数 - 添加缺少管道标签的嵌套管道组件
- 添加 ClearmlJob 状态缓存(每秒刷新)
- 数据集
- 添加
clearml-data
多块支持 - 将
clearml-data
默认块大小更改为 512 MB - 更改
Dataset.create()
,现在如果没有提供项目/名称,则自动恢复到使用当前任务
- 添加
- 添加
Optimizer.get_top_experiments_id_metrics_pair()
用于表现最佳的实验 - 添加支持为自动连接的argparse参数设置默认值
- 添加
Task.get_script()
和Task.set_script()
用于获取和设置任务的脚本属性以执行 - 添加
Task.mark_completed()
force
和status_message
参数 - 添加
Task.stopped()
reason
参数 - 添加
Task.query_tasks()
,Task.get_task()
和Task.get_tasks()
的tags
参数
错误修复
- 修复 PyJWT 的弹性支持
- 修复 xgb 训练过载问题 (ClearML GitHub 问题 #456)
- 修复在Windows中使用
pathlib2
代替os
时http://
抛出OSError
的问题(ClearML GitHub 问题 #463) - 修复本地差异应包括暂存的提交,否则应用 git diff 会失败 (ClearML GitHub 问题 #457)
- 修复
task.upload_artifact
非标准字典现在将恢复为pickle
(ClearML GitHub issue #452) - 修复了在EC2环境中使用
use_credentials_chain
时的S3BucketConfig.is_valid()
问题(ClearML GitHub 问题 #478) - 修复在使用自定义数据集训练时的音频分类器示例 (ClearML GitHub 问题 #484)
- 修复
clearml-task
差异被 Windows 驱动器号和分隔符损坏的问题 (ClearML GitHub issue #483) - 修复 TQDM 的“行清理”不使用
CR
而是使用箭头向上转义序列的问题 - 修复
task.connect(dict)
值转换 - 如果None
是默认值,使用后端存储类型 - 修复 Jupyter notebook 应始终将任务设置为已完成/已停止,而不是失败(在交互式会话中捕获异常)
- 修复管道支持
- 修复
LocalClearmlJob
设置失败状态 - 修复管道停止所有运行步骤
- 修复嵌套管道组件父节点指向管道任务
- 修复
PipelineController.start()
在完成时不应终止进程 - 修复管道未能创建步骤任务应导致管道标记为失败
- 修复嵌套管道组件缺少管道标签
- 修复
- 修复了如果频率过高,历史大小中报告的图像未发送的问题
- 修复了没有源头的git仓库缺失git检测器的问题
- 修复对上传
LazyEvalWrapper
工件的支持 - 修复重复的任务数据集标签
- 修复FileLock创建目标文件夹
- 修复在分叉子进程中崩溃可能导致SafeQueue处于锁定状态,导致
task.close()
挂起的问题 - 修复Windows中的PyTorch分布式示例
TimeoutSocket
问题 - 修复损坏的
Dataset.finalize()
- 修复 Python 3.5 兼容性问题
ClearML 1.1.2
错误修复
- 修复 PyJWT 问题(限制依赖版本为
<2.2.0
)
ClearML 1.1.1
错误修复
- 修复
Logger.report_image()
抛出警告 - 修复 TensorBoard
add_image()
未报告的问题
ClearML 1.1.0
Breaking Changes
- 引入了新的PipelineController v2。新的构造函数不向后兼容!
- ClearML 默认将不再尝试使用演示服务器(通过设置
CLEARML_NO_DEFAULT_SERVER=0
环境变量来更改此设置) Task.completed()
已被弃用,请使用Task.mark_completed()
代替
功能
- Add task trigger scheduler
- Add task Cron scheduler
- 从函数添加 PipelineController
- 添加PipelineDecorator(
PipelineDecorator.pipeline
和PipelineDecorator.component
装饰器用于完全自定义管道逻辑) - 添加 xgboost 自动指标记录 (ClearML GitHub 问题 #381)
- 添加
sdk.storage.log.report_upload_chunk_size_mb
和sdk.storage.log.report_download_chunk_size_mb
配置选项以控制上传/下载日志报告 (ClearML GitHub issue #424) - 添加新的可选
auto_connect_frameworks
参数值到Task.init()
(例如auto_connect_frameworks={'tfdefines':False}
)以允许禁用TF定义(ClearML GitHub issue #408) - 添加对
CLEARNL_CONFIG_VERBOSE
环境变量的支持,以允许外部控制配置加载过程的详细程度 - 添加支持使用
Task.upload_artifcats(name, [Path(), Path()])
上传带有文件列表的工件 - 添加缺失的clearml-task参数
--docker_args
,--docker_bash_setup_script
和--output-uri
- 更改
CreateAndPopulate
将自动列出已导入但未在本地安装的包 - 添加
clearml.task.populate.create_task_from_function()
以从函数创建任务,将函数输入参数包装为超参数部分的 kwargs,并将函数结果存储为命名的工件 - 添加对任务序列化的支持(例如用于pickle)
- 添加
Task.get_configuration_object_as_dict()
- 添加
docker_image
参数到Task.set_base_docker()
(弃用docker_cmd
) - 向
PipelineController
添加auto_version_bump
参数 - 添加
sdk.development.detailed_import_report
配置选项,以提供所有 Python 包导入的详细报告 - 在创建数据集时将当前任务设置为数据集的父级
- 添加对延迟配置的支持
- 示例
- 添加Pipeline v2示例
- 添加
TaskScheduler
和TriggerScheduler
示例 - 添加管道控制器回调示例
- 改进现有示例和文档字符串
错误修复
- 修复plotly图表将
NaN
转换为nan
而不是null
的问题(ClearML GitHub issue #373) - 修复弃用警告 (ClearML GitHub issue #376)
- 修复没有索引名称的plotly多索引 (ClearML GitHub 问题 #399)
- 修复点击支持 (ClearML GitHub issue #437)
- 修复文档字符串 (ClearML GitHub issue #438)
- 修复将
task-type
传递给clearml-task的问题(ClearML GitHub 问题 #422) - 修复
clearml-task --version
抛出错误的问题 (ClearML GitHub 问题 #422) - 修复 clearml-task ssh 仓库链接未被检测为远程仓库的问题 (ClearML GitHub 问题 #423)
- 修复
getattr
抛出异常的问题 (ClearML GitHub 问题 #426) - 修复保存笔记本预览时的编码问题 (ClearML GitHub 问题 #443)
- 修复没有requirements.txt的poetry toml文件 (ClearML GitHub 问题 #444)
- 修复
PY3.x
在使用 forkserver 上下文时调用SemLock._after_fork
失败的问题,即在锁被获取时进行分叉 (ClearML Agent GitHub 问题 #73) - 修复
StorageManager.download_folder()
中的错误下载路径 - 修复 jupyter notebook
display(...)
转换为print(...)
- 修复 TensorFlow
add_image()
使用description='text'
- 修复
Task.close()
应移除current_task()
引用 - 修复
TaskScheduler
的工作日,将默认的execute_immediately
改为False
- 修复 Python2 兼容性
- 修复 clearml-task 在验证
output_uri
失败时错误退出的问题(改为输出警告) - 修复不安全的Google Storage删除对象
- 修复了在多进程生成等待上传时,在极少数情况下可能会产生死锁的问题
- 修复当传递Task对象时
task.set_parent()
失败的问题 - 修复
PipelineController
跳过排队的任务 - 移除
humanfriendly
依赖(未使用)