使用工件
using_artifacts_example 脚本演示了如何将数据文件作为工件上传到任务中,然后在不同的任务中访问和利用该工件。
当脚本运行时,它会创建两个任务,create artifact
和 use artifact from other task
,这两个任务都与 examples
项目相关联。第一个任务创建并上传工件,第二个任务访问第一个任务的工件并利用它。
任务 1: 上传一个工件
第一个任务使用Task.upload_artifact()
上传一个数据文件作为工件,并输入工件的名称和文件的位置。
task1.upload_artifact(name='data file', artifact_object='data_samples/sample.json')
然后使用Task.close()
关闭任务,以便可以在同一脚本中初始化另一个任务。
工件详细信息(位置和大小)可以在ClearML的网页界面 > 实验详情 > 工件标签 > 其他部分中查看。
任务 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然后读取下载的工件内容并将其打印到屏幕上。