Skip to main content

ClearML SDK

ClearML Python 包支持自动日志记录,为您记录实验,并提供一系列强大的功能和特性,可用于改进实验和其他工作流程。

Installation

有关安装说明,请参阅入门指南

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

日志记录器

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

  • Explicit Report
  • 设置调试样本存储的上传目的地
  • 控制ClearML对TensorBoard和Matplotlib输出的日志记录

请参阅Logger SDK参考页面

超参数优化

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

请参阅HyperParameterOptimizer SDK参考页面

管道

ClearML的automation模块包含支持创建管道的类:

  • PipelineController - 一个用于定义和配置管道控制器及其步骤的Python接口。控制器和步骤可以是您Python代码中的函数,也可以是ClearML tasks
  • PipelineDecorator - 一组Python装饰器,将您的函数转换为管道控制器和步骤。

数据集

Dataset 类支持创建、修改和管理数据集,以及检索它们以在代码中使用。

请参阅 ClearML DataDataset 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项目中查看、克隆和编辑。每个示例在示例部分中有详细解释。