Aim is an open-source, self-hosted AI metadata and ML experiment tracking tool that helps record, search, and compare AI experiments. It provides a performant UI for exploring and comparing runs and an SDK for programmatic access to tracked metadata. As of version 3.29.1, it continues to release frequent minor updates and bug fixes, typically multiple times per year, within its major version. [1, 12, 18]
pip install aimVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to initialize an Aim run, log hyperparameters, and track metrics. After running this script, navigate to your project directory in the terminal and run `aim up` to launch the Aim UI and visualize your experiment results. [1, 12]
Refer to the official Aim documentation for migration guides and updated API usage when moving from Aim 2.x to 3.x. It's recommended to start new projects with Aim 3.x's API. [13]
If encountering `aimrocks` installation errors, consider using a Linux environment (including WSL on Windows) or a Python version known to be compatible (e.g., Python 3.10-3.12 as of Aim 3.21). Check Aim's GitHub issues for the latest compatibility updates. [17, 20, 26]
Initialize runs with `run = Run(repo="aim://<host>:<port>")` and ensure the server port is accessible (e.g., `kubectl port-forward <aim-server-pod> 53800:53800` for Kubernetes). [2]
Try installing Aim in a Linux environment (e.g., using WSL on Windows) or a Python version for which pre-compiled `aimrocks` wheels are available. Consult Aim's GitHub issues for known compatible environments or workarounds. [17, 23, 26]
Increase the operating system's file descriptor limit (e.g., `ulimit -n <new_limit>` on Linux) before running Aim experiments. A common recommendation is to set it to a higher value like 65536. Consult your OS documentation for persistent changes. [25]