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