Skip to main content

版本 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_connectionspool_maxsize 覆盖的支持
  • 将最后工作者的时间添加到AutoScaler
  • 添加警告当打开已中止的数据集时
  • 在主流水线任务上存储多流水线执行图
  • 支持管道返回值存储在管道任务上
  • 添加 PipelineDecorator.multi_instance_support
  • PipelineDecorator添加到clearmlclearml.automation命名空间
  • 文档和示例

错误修复

  • 修复 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() forcestatus_message 参数
  • 添加 Task.stopped() reason 参数
  • 添加 Task.query_tasks(), Task.get_task()Task.get_tasks()tags 参数

错误修复

  • 修复 PyJWT 的弹性支持
  • 修复 xgb 训练过载问题 (ClearML GitHub 问题 #456)
  • 修复在Windows中使用pathlib2代替oshttp://抛出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.pipelinePipelineDecorator.component 装饰器用于完全自定义管道逻辑)
  • 添加 xgboost 自动指标记录 (ClearML GitHub 问题 #381)
  • 添加 sdk.storage.log.report_upload_chunk_size_mbsdk.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示例
    • 添加TaskSchedulerTriggerScheduler示例
    • 添加管道控制器回调示例
    • 改进现有示例和文档字符串

错误修复

  • 修复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 依赖(未使用)