Skip to main content

使用工件

using_artifacts_example 脚本演示了如何将数据文件作为工件上传到任务中,然后在不同的任务中访问和利用该工件。

当脚本运行时,它会创建两个任务,create artifactuse artifact from other task,这两个任务都与 examples 项目相关联。第一个任务创建并上传工件,第二个任务访问第一个任务的工件并利用它。

任务 1: 上传一个工件

第一个任务使用Task.upload_artifact()上传一个数据文件作为工件,并输入工件的名称和文件的位置。

task1.upload_artifact(name='data file', artifact_object='data_samples/sample.json')

然后使用Task.close()关闭任务,以便可以在同一脚本中初始化另一个任务。

工件详细信息(位置和大小)可以在ClearML的网页界面 > 实验详情 > 工件标签 > 其他部分中查看。

WebApp中的工件

任务 2:访问工件

在第二个任务初始化后,脚本使用Task.get_task()类方法来获取第一个任务并访问其工件,特别是data file工件。get_local_copy方法下载文件并返回路径。

Cache

ClearML 管理所有下载内容的缓存,因此代码不会多次下载相同的数据。有关配置选项,请参见 Caching

preprocess_task = Task.get_task(task_name='create artifact', project_name='examples')
local_json = preprocess_task.artifacts['data file'].get_local_copy()

任务2然后读取下载的工件内容并将其打印到屏幕上。