管理运行记录

创建运行记录

Run 是用于跟踪和存储机器学习训练元数据(如指标或超参数)的主要对象。

初始化Run对象时,Aim会在指定路径下创建.aim存储库。 追踪的数据将保存在.aim仓库中。 若未指定仓库路径,运行数据将存储在当前工作目录。

使用以下Run参数来实现:

  • repo: 定义数据存储的位置

  • experiment: 定义实验名称以将相关运行分组

  • system_tracking_interval: 启用系统资源使用情况追踪(CPU、GPU、内存等)。默认已启用。设置为None可禁用

  • capture_terminal_logs: 启用进程输出捕获。默认已启用。设置为False可禁用。

from aim import Run

my_run = Run(
    repo='/repo/path/to/store/runs',
    experiment='experiment_name'
)

Run 类的完整 spec

此外,Aim SDK还提供了以下灵活性:

  • 在单个训练脚本中使用多个Run来同时存储多个运行记录。这在执行超参数搜索时通常非常方便。

  • 使用集成实现自动化追踪

继续运行

每个Run对象都有一个与之关联的hash,可以通过aim runs ls命令查看(点击此处查看Aim CLI)。 在初始化Run对象时指定运行哈希值以继续追踪。

from aim import Run

run = Run(run_hash='run_hash')

删除运行记录

在某些情况下,不需要Run数据。例如训练运行失败或简单的磁盘空间清理场景。Aim提供了SDK和CLI接口来删除Run

要通过SDK删除Run

from aim import Repo

repo = Repo.from_path('aim_repo_path')
repo.delete_run('run_hash')
repo.delete_runs(['run_hash_1', 'run_hash_2'])

Repo 类的完整 spec

要通过命令行移除Run

aim runs rm run_hash_1 run_hash_2 run_hash_3

清理(修剪)运行参数和指标名称/上下文

由于Aim的存储结构,运行记录被删除后,其参数和指标名称/上下文在Aim UI探索器中仍可用于自动补全。

为了清理那些悬空的参数和指标属性,可以使用命令行:

aim storage prune

上传运行记录

Aim提供了一种在AWS s3中创建.aim仓库备份快照的方法。 快照将创建在s3存储桶中,存储桶名称作为参数传入。 如果存储桶不存在,将会新建一个s3存储桶。

请注意,此命令需要boto3软件包和足够的AWS权限。

有关如何配置boto3凭据的详细信息,请参阅此处。

要通过命令行创建快照:

aim runs upload bucket_name_1

更多关于CLI中aim runs的详细信息,请参阅参考文档