跳到主要内容

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 方法的概览,或 ModelInputModelOutputModel 的 SDK 参考页面。

Logger

Logger 类是 ClearML 控制台日志和指标统计接口。该类包含以下方法

  • 显式报告
  • 设置调试样本存储的上传目标
  • 控制 ClearML 对 TensorBoard 和 Matplotlib 输出的日志记录

请参阅Logger SDK 参考页面

超参数优化

ClearML 的 optimization 模块包含支持超参数优化 (HPO) 的类

请参阅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 项目中查看、克隆和编辑。每个示例都在示例部分进行了说明。