experiment_buddy
aims to reduce the overhead to deploy experiments on servers.
Aims to reducing the cognitive load of running experiments remotely: with minimal changes it removes the need to think about experiment deployment for common use cases.
buddy is a work in progress, if you are intrerested in using it in your workflow, ping me in slack @delvermm
It's important to reduce cognitive overload for the researcher, as measured in seconds-to-first-tensorboard-datapoint.
Right now its responsibilities cover:
- Deployment on servers
- Handling of Sweeps
- Tracking of hyperparameters
- Code versioning
- Notifications
- Wandb integration.
Example: (Updated)
Quick start with Buddy cli
Requirements
- You now need to setup the cluster SSH key. how create and add your SSH keys can be found here
- Add cluster public-key to:
https://github.com/settings/keys
if you don't know this yet, check this out here -
pip install wandb && wandb init
there are two ways to set up wandb:- set up wandb init from the cmd
- or set export WANDB_API_KEY = your wandb key which can be found here: https://wandb.ai/settings
Installation
Directly from pip
pip install experiment-buddy
Usage
Interactive
Buddy will help you get started with the mila-cluster. Make sure you are using a virtual env, and run:
buddy-init
Once the setup is done you can also login with your Mila account on the cluster with ssh mila
To run your code locally
Start by forking the example repo https://github.com/ministry-of-silly-code/examples
# 1 - Go to your
cd <your_awesome_project>
# Run your experiments
python ./mnist_classifier.py
More details on experiment-buddy:
- experiment-buddy will add tagged commits to a dangling branch
- Supports: Unix based OS
To run your code on the cluster (Mila users)
Set host as mila
:
experiment_buddy.deploy(url='mila')
Run your code:
python main.py
Git connection refused
If the ssh-agent is unable to connect to git, add the ssh-keys to the current ssh-agent:
eval `ssh-agent -s`
ssh-add