模型
ClearML 支持跟踪、更新和可视化模型。
模型在ClearML中作为实验工件存储,但与依赖于其创建任务的其他工件不同,模型是具有自己唯一ID的独立实体。模型可以直接通过模型对象访问,也可以通过其创建任务间接访问。这一特性使模型成为一个独立的条目,可以用作工件库接口。
自动记录模型
一旦集成到代码中,ClearML 会自动记录和跟踪由以下框架创建的模型和任何快照:
- TensorFlow
- Keras
- PyTorch
- scikit-learn (仅使用 joblib)
- XGBoost (仅使用 joblib)
- Fast.ai
- MegEngine
- CatBoost
- MONAI
当支持的框架加载权重文件时,正在运行的任务将自动更新,其输入模型直接指向原始训练任务的模型。
手动记录模型
输出模型
ClearML 将训练结果存储为输出模型。OutputModel
对象通过任务对象作为参数实例化(参见 task
参数),因此它会自动注册为任务的输出模型。由于 OutputModel 对象与任务相关联,这些模型在实验中是可追踪的。
输出模型是读写模式的,因此权重可以在整个训练过程中更新。此外,用户可以指定模型的网络设计和标签枚举。一旦输出模型被注册,它就可以用作另一个实验的输入模型。
手动上传模型的快照不会自动捕获,但ClearML提供了通过Task
或OutputModel
对象更新它们的方法。
输入模型
ClearML 提供了显式连接输入模型和实验的灵活性,包括:
- 从外部来源导入预训练模型,如Amazon AWS、GIT仓库、PyTorch和TensorFlow
- 使用之前运行的实验中已在ClearML注册的独立模型
- 在脚本中定义自己的输入模型
设置上传目标
- ClearML 自动捕获由支持的框架创建的模型的存储路径。默认情况下,它存储它们保存到的本地路径。
- 上传目的地可以在每个OutputModel或每个实验的基础上明确指定。或者,所有OutputModels的上传目的地可以在ClearML 配置文件中指定。
WebApp 界面
在ClearML的Web UI中,可以通过项目的模型表或通过模型的创建任务来定位模型信息。
与任务相关的模型会出现在任务的ARTIFACTS标签中。要查看更多的模型详细信息,包括设计、标签枚举、血统和一般信息,请点击模型名称,这是一个指向模型详情页面的超链接。
模型也可以通过它们关联项目的模型表访问,其中列出了与项目关联的所有模型。
SDK 接口
请参阅模型SDK接口以了解如何使用模型类的最基本Python方法。在模型、输出模型和输入模型参考页面中查看所有可用方法的详细列表。