工件
工件是与ClearML 任务相关联的对象,这些对象被记录到ClearML中,以便以后可以轻松访问、修改和使用。
任务工件支持多种对象类型的内置序列化,例如:
- Numpy 数组 (
.npz
) - Pandas 数据框
- PIL 图像(转换为
.jpg
) - 文件和文件夹
- Python 对象
- 以及更多
ClearML 还会记录您任务的输入和输出模型以及中间模型检查点。模型工件还具有唯一的 ClearML 模型 ID(请参阅 Models)。
工件允许您:
- 跟踪任务输入:记录非源代码控制的数据以重现您的工作流程。
- 比较输出: 轻松访问模型快照。
- 构建复杂的工作流程:通过将一个任务的输出作为另一个任务的输入来实现管道(例如,数据清理任务记录其清理后的数据集以供后续训练任务使用)。
记录工件
ClearML 自动记录由流行框架创建的工件,包括 TensorFlow 和 PyTorch。请参阅支持的框架。
你也可以使用Task.upload_artifact()
来记录任何其他对象。详情请参见Artifacts Reporting示例。
ClearML 可以配置为将工件上传到任何支持的存储类型,包括本地和共享文件夹、AWS S3 存储桶、Google 云存储和 Azure 存储(参见 Storage)。
动态更新工件
Clearml 可以在任务运行期间自动更新工件,因为其内容会通过使用
register_artifact()
进行更改。
访问工件
任务工件可以被其他任务访问。要使用一个工件,首先检索创建它的Task
。然后使用以下方法之一:
get_local_copy()
: 缓存文件以供以后使用并返回其路径。get()
: 直接检索与工件关联的Python对象。
欲了解更多信息,请参阅使用工件。
WebApp 界面
工件出现在任务的ARTIFACTS标签下。每个工件的位置显示在FILE PATH字段中:
- 本地存储的工件:包括一个选项,用于复制工件的位置以便访问(由于安全原因,Web应用程序被禁止访问本地磁盘)
- 网络存储的工件:显示一个下载操作以从URL(例如,
https://
,s3://
)检索文件。
SDK 接口
请参阅任务SDK页面中的Artifacts部分,了解如何使用Python方法处理ClearML Artifacts的概述。