Aim CLI

Aim CLI offers a simple interface to easily organize and record your experiments. Paired with the Python Library, Aim is a powerful utility to record, search and compare AI experiments. Here are the set of commands supported:

Command

Description

init

Initialize the aim repository.

version

Displays the version of aim cli currently installed.

up

Runs Aim web UI for the given repo.

reindex

Process runs left in ‘in progress’ state and optimized finished runs.

server

Run aim remote tracking server accepting incoming RPC requests.

runs

Manage run data for the given repo.

convert

Tool-set for converting 3rd party data into Aim readable format.

storage

Maintain/update Aim repository internal data formats.

init

**This step is optional.** Initialize the aim repo to record the experiments.

$ aim init

Creates .aim directory to save the recorded experiments to. Running aim init in an existing repository will prompt the user for re-initialization.

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

**Beware:** Re-initialization of the repo clears .aim folder from previously saved data and initializes new repo. **Note:** This command is not necessary to be able to get started with Aim as aim is automatically initializes with the first aim function call.

version

Display the Aim version installed.

$ aim version

up

Start the Aim web UI locally.

$ aim up [ARGS]

Args

Description

-h &#124; --host <host>

Specify host address.

-p &#124; --port <port>

Specify port to listen to.

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

--dev

Run UI in development mode.

--profiler

Enables API profiling which logs run trace inside .aim/profiler directory.

--log-level

Specifies log level for python logging package. ``WARNING`` by default, ``DEBUG`` when ``–dev`` option is provided.

server

Run a tracking server to collect tracked data from remote clients.

$ aim server [ARGS]

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

-h &#124; --host <host>

Specify host address.

-p &#124; --port <port>

Specify port to listen to. Default is 53800.

--ssl-keyfile

Specify path to keyfile for secure connection.

--ssl-certfile

Specify path to cert. file for secure connection.

--dev

Run UI in development mode.

--log-level

Specifies log level for python logging package. ``WARNING`` by default, ``DEBUG`` when ``–dev`` option is provided.

runs

Upgrade Aim repository runs data.

$ aim runs [ARGS] SUBCOMMAND

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

runs subcommands

Sub-command

Description

ls

List runs in aim repository.

rm

Remove run data for given run hashes. At least one run should be specified.

cp

Copy run data for given run hashes. At least one run should be specified.

mv

Move run data for given run hashes. At least one run should be specified.

upload

Create a snapshot of .aim directory in cloud. Bucket name should be specified.

Global expression (*) support is available for run hashes. If hash contains *, it must be enclosed within quotes ('') as bash resolves the expression before passing it to aim runs command.

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

Args

Description

--destination <dest_repo_path>

Path to destination repo. Required.

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

Args

Description

--destination <dest_repo_path>

Path to destination repo. Required.

$ aim runs upload [ARGS] ...

Args

Description

--bucket <bucket_name>

Name of the cloud storage bucket. Required.

convert

Tool-set for converting 3rd party data into Aim readable format.

$ aim convert [ARGS] SUBCOMMAND

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

convert subcommands

Sub-command

Description

tensorboard

Convert from Tensorboard logs.

mlflow

Convert from MLFlow logs.

Sub-command: tensorboard

Options

Description

--flat

Disregard context directory and treat them as distinct run directories. Inactive by default.

--no-cache

Ignore previously cached results and process the logs entirely. Disabled by default.

Sub-command: mlflow

Options

Description

--tracking_uri

MLFlow logs URI. Can be either an HTTP/HTTPS URI for a remote server, a database connection string, or a local path.

-e &#124; --experiment

MLFlow Experiment name. If specified, only runs for exp_name will be converted.

storage

Perform various maintenance operations on Aim repository.

$ aim storage [ARGS] SUBCOMMAND

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

storage subcommands

Sub-command

Description

upgrade 3.11+

Update metric sequence data format for given runs. At least one run should be specified.

restore

Rollback Run to old metric format if run backup is available.

reindex

Update index to include all runs in Aim repo which are left in progress.

prune

Remove dangling params/sequences with no referring runs.

Sub-command: update 3.11+

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

Sub-command: restore

$ aim storage restore [HASH] ...

Sub-command: reindex | Args | Description | | ——————— | ———————————————————————————| | --finalize-only | Only finalize runs left in ‘in progress’ state. Do not attempt runs optimization.|

Sub-command: prune

$ aim storage prune

Aim status watcher CLI

Aim status CLI offers an interface to start training runs status monitoring and configure how the notifications should be received. The entry point to this CLI is aim-watcher:

$ aim-watcher [ARGS] SUBCOMMAND

Args

Description

--repo <repo_path>

Path to parent directory of .aim repo. Current working directory by default.

Sub-Commands

Description

start

Start watcher service to monitor and report stuck/failed Runs.

notifiers

Configure how notifications should be received.

start

Start watcher service for the given aim Repo.

aim-watcher --repo . start

notifiers

Manipulate notifiers configuration.

notifiers subcommands

$ 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]