Giter VIP home page Giter VIP logo

aim's Introduction

⚡ Try out Aim at play.aimstack.io



Aim logs your training runs, enables a beautiful UI to compare them and an API to query them programmatically.

PyPI Package PyPI Downloads PyPI - Python Version Issues License



Integrate seamlessly with your favorite tools

Aim is open-source, self-hosted AI experiment tracking tool. Use Aim to deeply inspect hundreds of hyperparameter-sensitive training runs at once.

Getting Started in 3 Steps

Follow the steps below to get started with Aim.

1. Install Aim on your training environment

Prerequisite: You need to have python3 and pip3 installed in your environment before installing Aim

$ pip3 install aim

2. Integrate Aim with your code

Integrate your Python script
from aim import Run

# Initialize a new run
run = Run()

# Log run parameters
run["hparams"] = {
    "learning_rate": 0.001,
    "batch_size": 32,
}

# Log metrics
for step, sample in enumerate(train_loader):
    # ...
    run.track(loss_val, name='loss', step=step, epoch=epoch, context={ "subset": "train" })
    run.track(acc_val, name='acc', step=step, epoch=epoch, context={ "subset": "train" })
    # ...

See documentation here.

Integrate PyTorch Lightning
from aim.pytorch_lightning import AimLogger

# ...
trainer = pl.Trainer(logger=AimLogger(experiment='experiment_name'))
# ...

See documentation here.

Integrate Hugging Face
from aim.hugging_face import AimCallback

# ...
aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='mnli')
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset if training_args.do_train else None,
    eval_dataset=eval_dataset if training_args.do_eval else None,
    callbacks=[aim_callback],
    # ...
)
# ...

See documentation here.

Integrate Keras & tf.keras
import aim

# ...
model.fit(x_train, y_train, epochs=epochs, callbacks=[
    aim.keras.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
    
    # Use aim.tensorflow.AimCallback in case of tf.keras
    aim.tensorflow.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
])
# ...

See documentation here.

Integrate XGBoost
from aim.xgboost import AimCallback

# ...
aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
bst = xgb.train(param, xg_train, num_round, watchlist, callbacks=[aim_callback])
# ...

See documentation here.

3. Run the training as usual and start Aim UI

$ aim up

Roadmap

Detailed Sprints

❇️ The Aim product roadmap

  • The Backlog contains the issues we are going to choose from and prioritize weekly
  • The issues are mainly prioritized by the highly-requested features

High-level roadmap

The high-level features we are going to work on the next few months

Done

  • Live updates (End: Oct 18 2021)

In progress:

  • Images tracking and visualization (Start: Oct 18 2021)
  • Centralized tracking server (Start: Oct 18 2021)

TODO: Nov 1 - Feb 1

Track and Explore:

  • Distributions tracking and visualization
  • Transcripts tracking and visualization
  • Runs side-by-side comparison

Data Backup:

  • Cloud storage support: aws s3, gsc, azure storage

Reproducibility:

  • Track git info, env vars, CLI arguments, dependencies
  • Collect stdout, stderr logs

Integrations:

  • Colab integration
  • Jupyter integration
  • plotly integration
  • Kubeflow integration
  • Streamlit integration
  • Raytune integration

Community

If you have questions please:

  1. Read the docs
  2. Open a feature request or report a bug
  3. Join our slack

aim's People

Contributors

gorarakelyan avatar arsengit avatar sgevorg avatar alberttorosyan avatar roubkar avatar vkohov avatar karomourad avatar mihran113 avatar rubenaprikyan avatar mike1808 avatar mahnerak avatar jialin-wu-02 avatar khazhak avatar dependabot[bot] avatar jamesj-jiao avatar tatevv avatar bkal01 avatar fetz236 avatar bluetyson avatar ruanqin0706 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.