管理运行记录
创建运行记录
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的详细信息,请参阅参考文档。