Mantra is used by deep learning practitioners to manage their development workflow. It automatically provisions cloud instances for training, tracks and versions experiments, has a UI for training and evaluating results, and works with frameworks like PyTorch and TensorFlow.
Key Features:
- Boilerplate classes for common dataset and model types
- Command-line interface for training with parameter parsing
- Automatic provisioning of cloud instances for remote training
- UI for monitoring training, comparing experiments and storing media
- Encapsulation of datasets and models by design, enabling easy sharing
This is an alpha release. All contributions are welcome - see here for guidelines on how to contribute.
🚀 To launch your first Mantra project, execute the following to create a new project directory:
mantra launch my_project
☁ Configure your cloud settings and API keys:
cd my_project
mantra cloud
💾 Get the example datasets and models from here:
mantra import https://github.com/RJT1990/mantra-examples.git
🤖 Here are the example models you can train:
mantra train relativistic_gan --dataset decks --cloud --dev --image-dim 256 256
mantra train log_reg --dataset epl_data --target home_win --features feature_1 feature_2 feature_3
🚂 During training, you can spin up the Mantra UI to track the progress:
mantra ui
To install mantra, you can use pip:
pip install mantraml
You should also have TensorFlow or PyTorch installed depending on which framework you intend to use.
Mantra is tested on Python 3.5+. It is not currently supported on Windows, but we'll look to get support in the near future.
You will need to install AWS CLI as a dependency.
-
Login to AWS through a browser, click your name in the menubar and click My Security Credentials.
-
Create a new Access Key and make a note of the Access Key ID and Secret Access Key.
-
From terminal enter the following:
johnsmith@computer:~$ pip install awscli
johnsmith@computer:~$ aws configure
Once prompted, enter your AWS details and your default region (e.g. us-east-1).
-
Now your credentials will be accessible by the boto3 AWS SDK library, which will allow Mantra to be used to provision cloud instances on your request.
-
Use mantra cloud from your mantra project root to configure your cloud settings.
You should also ensure you are happy with the default instance settings in mantra - you can check this in the settings.py file in your project root.
Arise! Awake! Approach the great and learn.