Skip to main content

工件

工件是与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://)检索文件。

WebApp 工件部分

SDK 接口

请参阅任务SDK页面中的Artifacts部分,了解如何使用Python方法处理ClearML Artifacts的概述。