项目
项目是用于任务和模型(以及启用超数据集时的数据视图)的上下文容器,提供类似于文件系统文件夹的逻辑结构。一个常用的方法是根据模型或目标将组件分类到项目中。将任务、模型和数据视图分组到项目中有助于在查询时识别它们。
项目可以像计算机上的文件和子目录一样,分为子项目(以及子子项目等),使组织更加容易。
项目包含一个文本描述字段,用于记录相关信息。WebApp支持描述字段的markdown渲染(参见概览)。
此外,可以指定项目的默认输出URI。当执行项目中的新实验时,模型检查点(快照)和工件将存储在默认输出位置。
WebApp
用户可以在WebApp中创建和修改项目,并查看项目详情。 项目的描述可以在其概览页面中编辑。每个项目的实验、 模型和数据视图可以在项目的实验表、 模型表和数据视图表中查看。
用法
创建项目和子项目
当初始化任务时,需要指定其项目。如果输入的项目不存在,将会创建它。
项目可以包含子项目,就像文件夹可以包含子文件夹一样。在project_name
参数中输入目标项目路径。项目路径应遵循项目树层次结构,其中项目和子项目由斜杠(/
)分隔。
例如:
from clearml import Task
Task.init(project_name='main_project/sub_project', task_name='test')
嵌套项目可以在多个层次上工作。例如:project_name=main_project/sub_project/sub_sub_project
。
项目也可以通过使用projects.create
REST API调用来创建。
查看系统中的所有项目
要查看系统中的所有项目,请使用Task.get_projects()
类方法:
project_list = Task.get_projects()
这将返回一个按最后更新时间排序的项目列表。
更多操作
有关项目的其他工作方式,请使用REST API projects
资源。一些可用的操作包括:
projects.create
和projects.delete
- 创建和删除项目projects.get_hyper_parameters
- 获取项目中使用的所有超参数部分和名称的列表projects.merge_projects
- 将项目合并为一个项目
更多信息请参见REST API参考。