Aim 命令行界面

Aim CLI 提供了一个简单的界面,方便您组织和记录实验。与Python库配合使用时,Aim是一个强大的工具,用于记录、搜索和比较AI实验。以下是支持的命令集:

命令

描述

init

初始化 aim 仓库。

version

显示当前安装的aim cli版本。

up

为给定的代码仓库运行Aim网页用户界面。

reindex

处理处于"进行中"状态的运行记录并优化已完成的运行。

server

运行aim远程跟踪服务器,接收传入的RPC请求。

runs

管理指定代码仓库的运行数据。

convert

用于将第三方数据转换为Aim可读格式的工具集。

storage

维护/更新Aim仓库内部数据格式。

初始化

**此步骤是可选的。** 初始化aim仓库以记录实验。

$ aim init

创建.aim目录用于保存记录的实验数据。在已有仓库中运行aim init会提示用户是否重新初始化。

参数

描述

--repo

.aim仓库父目录的路径。默认为当前工作目录

**注意:** 重新初始化仓库会清除.aim文件夹中之前保存的数据并初始化新仓库。 **提示:** 使用Aim时无需手动执行此命令,因为在第一次调用aim函数时会自动完成初始化。

版本

显示已安装的Aim版本。

$ aim version

向上

在本地启动Aim网页用户界面。

$ aim up [ARGS]

参数

描述

-h, --host

指定主机地址。

-p, --port

指定监听的端口。默认为43800。

--repo

.aim仓库父目录的路径。默认为当前工作目录

--dev

以开发模式运行UI界面——仅启用热重载功能,不面向终端用户

--性能分析器

启用API性能分析功能,将运行轨迹记录在.aim/profiler目录中。

--log-level

指定Python日志记录包的日志级别。默认为``WARNING``,当提供``–dev``选项时为``DEBUG``

服务器

运行一个跟踪服务器以收集来自远程客户端的跟踪数据。

$ aim server [ARGS]

参数

描述

--repo

.aim 仓库父目录的路径。默认为当前工作目录

-h, --host

指定主机地址。

-p, --port

指定监听的端口。默认为53800

--ssl-keyfile

指定用于安全连接的密钥文件路径。

--ssl-certfile

指定用于安全连接的证书文件路径。

--dev

在开发模式下运行用户界面。

--log-level

指定Python日志记录包的日志级别。默认为``WARNING``,当提供``–dev``选项时为``DEBUG``

运行记录

升级 Aim 仓库的运行数据。

$ aim runs [ARGS] SUBCOMMAND

参数

描述

--repo <repo_path>

.aim仓库父目录的路径。默认为当前工作目录

运行子命令

子命令

描述

ls

列出aim仓库中的运行记录。

rm

删除指定运行哈希的运行数据。至少需要指定一个运行。

cp

复制给定运行哈希的运行数据。至少需要指定一个运行。

mv

移动指定运行哈希的运行数据。至少需要指定一个运行。

upload

在云端创建.aim目录的快照。需要指定存储桶名称。

运行哈希支持全局表达式(*)。如果哈希包含*,必须用引号('')括起来,因为bash在传递给aim runs命令前会解析该表达式。

$ aim runs ls
$ aim runs rm [HASH] ...
$ aim runs cp [ARGS] [HASH] ...

参数

描述

--destination

目标仓库的路径。必填。

$ aim runs mv [ARGS] [HASH] ...

参数

描述

--destination

目标仓库的路径。必填。

$ aim runs upload [ARGS] ...

参数

描述

--bucket

云存储桶的名称。必填项。

转换

用于将第三方数据转换为Aim可读格式的工具集。

$ aim convert [ARGS] SUBCOMMAND

参数

描述

--repo <repo_path>

.aim 仓库父目录的路径。默认为当前工作目录

转换子命令

子命令

描述

tensorboard

从Tensorboard日志转换。

mlflow

从MLFlow日志转换。

子命令:tensorboard

选项

描述

--flat

忽略上下文目录,将其视为独立的运行目录。默认情况下不启用。

--no-cache

忽略之前缓存的结果并完整处理日志。默认情况下禁用。

子命令: mlflow

选项

描述

--tracking_uri

MLFlow日志URI。可以是远程服务器的HTTP/HTTPS URI、数据库连接字符串或本地路径。

-e--experiment

MLFlow实验名称。如果指定,仅转换exp_name对应的运行记录。

存储

对Aim仓库执行各种维护操作。

$ aim storage [ARGS] SUBCOMMAND

参数

描述

--repo <repo_path>

.aim 仓库父目录的路径。默认为当前工作目录

存储子命令

子命令

描述

升级 3.11+

更新指定运行的指标序列数据格式。至少需要指定一个运行。

restore

如果运行备份可用,将Run回滚到旧的指标格式。

reindex

更新索引以包含Aim仓库中所有仍在进行中的运行记录。

prune

移除没有关联运行的孤立参数/序列。

子命令: update 3.11+

$ aim storage upgrade 3.11+ [HASH] ...

子命令: restore

$ aim storage restore [HASH] ...

子命令: reindex | 参数 | 描述 | | ——————— | ———————————————————————————| | --finalize-only | 仅完成处于"进行中"状态的任务。不尝试运行优化。|

子命令: prune

$ aim storage prune

Aim状态监视器命令行界面

Aim status CLI 提供了一个界面来启动训练运行状态监控,并配置如何接收通知。该CLI的入口点是 aim-watcher

$ aim-watcher [ARGS] SUBCOMMAND

参数

描述

--repo <repo_path>

.aim 仓库父目录的路径。默认为当前工作目录

子命令

描述

start

启动监控服务以监视并报告卡住/失败的运行。

notifiers

配置通知接收方式。

开始

为给定的aim Repo启动监视器服务。

aim-watcher --repo . start

通知器

操作通知器配置。

通知器子命令

$ aim-watcher notifiers add
$ aim-watcher notifiers list
$ aim-watcher notifiers remove [NOTIFIER_ID]
$ aim-watcher notifiers disable [NOTIFIER_ID]
$ aim-watcher notifiers enable [NOTIFIER_ID]