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.

upgrade

Upgrades legacy Aim repository from 2.x to 3.0.

reindex

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

server

Run aim remote tracking server accepting incoming RPC requests. Experimental feature.

runs

Manage run data for the given repo.

convert

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

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.

upgrade

Upgrade Aim repository containing data logged with older version of Aim.

$ aim upgrade [ARGS] SUBCOMMAND

Args

Description

--repo <repo_path>

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

upgrade subcommands

Upgrade aim repository from 2.x to 3.0.

$ aim ugrade 2to3 [ARGS]

Args

Description

--skip-failed-runs

Use this flag to skip runs which are failed/have missing or incomplete data.

--skip-checks

Use this flag to skip new repository consistency checks.

--drop-existing

Use this flag to clear old .aim directory. By default old data is kept in .aim_legacy.

reindex

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

$ aim reindex [ARGS]

Args

Description

--repo <repo_path>

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

--finalize-only

Only finalize runs left in ‘in progress’ state. Do not attempt runs optimization.

server

Run a gRPC 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.

-w &#124; --workers <N>

Specify number of gPRC workers. Default is 1 worker.

--ssl-keyfile

Specify path to keyfile for secure connection.

--ssl-certfile

Specify path to cert. file for secure connection.

--log-level

Specifies log level for python logging package. ``WARNING`` by default.

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 runs hashes. At lease one run should be specified.

cp

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

mv

Move run data for given runs hashes. At lease one run 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.

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

tf

Convert from TensorFlow events.

mlflow

Convert from MLFlow logs.

Sub-command: tf

Options

Description

--flat

Disregard context directory and treat them as distinct run directories. Inactive 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.