This is a template for research projects using Tango and Beaker.
In this repository you'll find several files that you can use as starting point to kick off your project:
-
This is a Tango settings file. This tells Tango where to save results (the
workspacefield) and how to run steps (theexecutorfield). This one in particular tells Tango to use the Beaker workspace, which utilizes Beaker datasets to cache step results, and the Beaker executor, which runs steps as Beaker jobs on the clusters of your choosing. -
This is just an example of Python module where you can define your Tango Step classes. You could call this whatever you want, just make sure to update the
include_packagefield in yourtango.yml. This one just contains a single example step, called "hello", which prints out a greeting and whether Torch finds any CUDA-enabled GPU devices. -
This is an experiment configuration file. It defines the experiment - made up of steps - that Tango will run.
-
This file specifies your Python dependencies. You could also use a conda
environment.ymlfile if you want, but at least one of these is required to be able to use the Beaker executor (Tango uses this to recreate your Python environment on Beaker).
-
Hit the "Use this template" button to initialize your own repository with all of the files from this repo as a starting point.
-
Change the
beaker_workspacefield in thetango.ymlfile to the name of your own workspace on Beaker (Tango will create it if it doesn't already exist). -
If you haven't already installed and configured the Beaker CLI, do that now. Otherwise you can just the environment variable
BEAKER_TOKENto your Beaker user token. -
Create a GitHub personal access token with at least the "repo" scope and set it to the environment variable
GITHUB_TOKEN. Tango will use this token to clone your project when it runs on Beaker. -
Create a new Python environment and install your project's dependencies with:
pip install -r requirements.txt
-
Run your first Tango experiment on Beaker! Just run:
tango run config.jsonnet