ClearML SDK
ClearML Python 包支持自动日志记录,可为您记录任务,并提供一套强大的功能和特性,可用于改进实验和其他工作流程。
有关安装说明,请参阅ClearML 安装配置。
ClearML Python 包会收集脚本的全部执行信息,包括
- Git 仓库(分支、提交 ID 和未提交的更改)
- 工作目录和入口点
- 超参数
- 初始权重模型、模型快照(检查点)、输出模型
- 产物、指标、日志、其他报告数据(来自库和可视化工具包)以及调试样本。
结合 ClearML 托管服务(或自托管的ClearML Server)和ClearML Agent,ClearML Python 包允许您和您的队友以编程方式协作,并使用ClearML Web UI。
类和模块
Task
Task
类是所有任务功能和特性的代码模板,包括
- 从脚本收集和存储数据
- 与框架、库和可视化工具的自动绑定
- 一套强大的任务执行方法(克隆、连接参数字典、配置和模型)
- 等等!
请参阅 Task
pythonic 方法的概览或Task SDK 参考页面。
Model
model
模块包含三个类,支持在 ClearML 中处理模型
Model
- 表示 ClearML 中一个可以加载并连接到任务的现有模型InputModel
- 表示一个可以加载到 ClearML 中的现有模型OutputModel
- 表示始终连接到任务的任务输出模型
请参阅 Model 类 pythonic 方法的概览,或 Model
、InputModel
和 OutputModel
的 SDK 参考页面。
Logger
Logger
类是 ClearML 控制台日志和指标统计接口。该类包含以下方法
- 显式报告
- 设置调试样本存储的上传目标
- 控制 ClearML 对 TensorBoard 和 Matplotlib 输出的日志记录
请参阅Logger SDK 参考页面。
超参数优化
ClearML 的 optimization
模块包含支持超参数优化 (HPO) 的类
- HyperParameterOptimizer - 超参数搜索控制器类
- 优化搜索策略类,包括 Optuna、HpBandSter、GridSearch、RandomSearch,以及一个可自定义的基础 SearchStrategy
请参阅HyperParameterOptimizer SDK 参考页面。
Pipeline
ClearML 的 automation
模块包含支持创建流水线的类
- PipelineController - 用于定义和配置流水线控制器及其步骤的 Pythonic 接口。控制器和步骤可以是您 Python 代码中的函数,也可以是 ClearML 任务。
- PipelineDecorator - 一组 Python 装饰器,将您的函数转换为流水线控制器和步骤。
Dataset
Dataset
类支持创建、修改和管理数据集,以及检索数据集以在代码中使用。
请参阅ClearML 数据或Dataset SDK 参考页面。
StorageManager
StorageManager
类支持从存储下载和上传,包括本地文件夹、S3、Google Cloud Storage、Azure Storage 和 http(s)。
请参阅 StorageManager
使用示例或StorageManager SDK 参考页面。
APIClient
APIClient
类提供了访问 ClearML 后端 REST API 的 Pythonic 接口。
请参阅 APIClient 使用的概览。
ClearmlJob
使用 ClearmlJob 基于现有任务创建和管理作业。该类支持更改作业的参数、配置及其他执行详情。
请参阅参考页面。
AutoScaler
AutoScaler
类有助于实现资源预算。请参阅此处的类方法。ClearML 还提供了一个专门用于 AWS 自动扩缩的类。请参阅代码和示例脚本。
TaskScheduler
TaskScheduler
类支持用于安排周期性执行(如 cron 作业)的方法。请参阅代码和示例。
TriggerScheduler
TriggerScheduler
类有助于在系统中发生特定事件(例如模型发布、数据集创建、任务失败)时触发任务执行。请参阅代码和使用示例。
示例
clearml
GitHub 仓库包含一个examples 文件夹,其中有示例脚本演示如何使用 ClearML SDK 的各种功能。
这些示例预加载在ClearML 托管服务中,可以在 ClearML Web UI 的 ClearML Examples
项目中查看、克隆和编辑。每个示例都在示例部分进行了说明。