调优实验
调整实验并编辑实验的执行细节,然后在本地或远程机器上执行调整后的实验。
调整实验并远程执行:
-
定位实验。从仪表板或主项目页面打开实验的项目页面。
- 在仪表板上,
- 从最近的实验中点击一个实验
- 在最近的项目中 > 点击项目卡片 > 点击实验
- 在最近的项目中 > 点击 查看全部 > 点击项目卡片 > 点击实验
- 在项目页面上,点击项目卡片,或点击所有项目卡片>点击实验
- 在仪表板上,
-
克隆实验。在实验表中:
- Click Clone, and a Clone experiment box will pop up.
- In the Project textbox, select or create a project. To search for another project, start typing the project name. To create a new project, type new experiment name and click Create New.
- Enter an optional description.
- Click CLONE.
克隆实验的状态现在是草稿。
-
编辑实验。请参阅修改实验。
-
将实验加入队列以执行。右键点击实验 > 加入队列 > 选择一个队列 > 加入队列。
实验的状态变为Pending。当分配给队列的工作人员获取任务(实验)时,状态变为Running。现在可以跟踪实验并可视化其结果。
修改实验
状态为草稿的实验是可编辑的(参见用户属性例外)。在ClearML Web UI中,可以编辑以下任何内容
- 源代码
- 输出工件的目标位置
- 基础Docker镜像
- 超参数 - 参数、TensorFlow 定义、命令行选项、环境变量和用户定义的属性
用户参数在任何实验中都是可编辑的,除了状态为已发布(只读)的实验。
- 配置对象 - 任务模型描述
- 初始权重输入模型
- 输出工件存储的目标位置
执行详情
源代码
通过更改以下任何一项来修改代码执行:
- 仓库、提交(通过ID、标签名选择,或选择分支中的最后一次提交)、脚本、工作目录和/或二进制文件。
- 要安装的Python包及其版本 - 编辑包列表,或清除它以让ClearML代理不安装任何包或使用现有的
requirements.txt
文件。如果实验基于一次运行,其中使用的包最终与最初指定的不同,您可以轻松或重置包到最初记录的值("Original Pip")。 - 未提交的更改 - 编辑或全部清除。
要修改源代码,请将鼠标悬停在执行选项卡中的相关部分上,以访问编辑、清除/丢弃和/或重置功能。
基础 Docker 镜像
选择一个预配置的Docker,ClearML Agent将使用它来远程执行此实验(参见构建Docker容器)。
添加、更改或删除基础Docker镜像:
- 在执行 > 代理配置 > 基础Docker镜像 > 悬停 > 编辑 > 输入基础Docker镜像。
为了让ClearML代理在容器中执行任务,代理必须在Docker模式下运行:
clearml-agent daemon --queue <execution_queue_to_pull_from> --docker [optional default docker image to use]
欲了解更多信息,请参阅Docker Mode。
输出目的地
为模型检查点(快照)和其他工件设置输出目的地。支持的示例目的地类型和指定位置的格式包括:
- 一个共享文件夹:
/mnt/share/folder
- S3:
s3://bucket/folder
- 非AWS S3类似服务(例如MinIO):
s3://host_addr:port/bucket
- Google Cloud Storage:
gs://bucket-name/folder
- Azure 存储:
azure://<account name>.blob.core.windows.net/path/to/file
要添加、更改或删除工件输出目的地:
- 在执行 > 输出 > 目的地 > 悬停 > 编辑 > 编辑 > 保存。
同时设置代码中工件的输出目的地(参见Task.init
方法的output_uri
参数),以及所有实验的ClearML配置文件中的输出目的地(参见ClearML配置参考页面上的default_output_uri
)。
配置
超参数
添加、更改或删除超参数,这些超参数在ClearML Web UI中按以下部分组织:
-
参数 - 自动记录的参数解析器参数(例如
argparse
,click
,hydra
)。 -
TF_DEFINE - TensorFlow 定义(来自代码,TF_DEFINEs 自动记录)。
-
通用 - 参数字典(来自代码,通过调用
Task.connect()
连接到任务)。 -
环境变量 - 如果变量列在
CLEARML_LOG_ENVIRONMENT
环境变量或clearml.conf
文件的sdk.development.log_os_environments
字段中,则会被跟踪(参见此FAQ)。 -
自定义命名的参数组(请参阅
Task.connect
中的name
参数)。
添加、更改或删除超参数:
- 在配置标签中> 超参数 > 参数组 > 悬停 > 点击编辑 > 添加、更改或删除键和/或值 > 点击保存。
用户属性
用户属性允许以键值对格式存储任何描述性信息。它们在任何实验中都是可编辑的,除了状态为已发布(只读)的实验。
添加、更改或删除用户属性:
- 在配置 > 用户属性 > 属性 > 悬停 > 点击 编辑 > 添加、更改或删除键和/或值 > 点击 保存。
配置对象
要添加、更改或删除任务模型配置:
- 在配置 > 配置对象 > 对象名称 > 悬停 > 编辑 或 清除(如果配置不为空)。
工件
初始权重输入模型
编辑模型配置和标签枚举,为同一项目或任何其他项目选择不同的初始输入权重模型,或删除模型。
模型在MODELS标签页中可编辑,而不是在EXPERIMENTS标签页中。点击模型名称的超链接会在MODELS标签页中显示该模型。
选择不同的模型:
- 在ARTIFACTS > 输入模型 > 悬停并点击编辑。
- 如果模型与实验相关联,请点击 。
- 在选择模型对话框中,从当前项目或任何其他项目中选择一个模型。
编辑模型的配置或标签枚举:
-
点击模型名称的超链接。模型详细信息将显示在MODELS标签中。
-
编辑模型配置或标签枚举:
-
模型配置 - 在NETWORK标签中> 悬停并点击EDIT。> 点击EDIT或CLEAR(以移除配置)。
用户还可以搜索配置(将鼠标悬停在配置文本框上,搜索框会出现)并将配置复制到剪贴板(悬停并点击)。
-
标签枚举 - 在LABELS标签页> 悬停并点击EDIT> 添加、更改或删除标签枚举键值对。
-
从实验中移除模型:
- 悬停并点击编辑 > 点击