https://github.com/RJT1990/mantra
A high-level, rapid development framework for machine learning projects
https://github.com/RJT1990/mantra
deep-learning machine-learning
Last synced: 11 months ago
JSON representation
A high-level, rapid development framework for machine learning projects
- Host: GitHub
- URL: https://github.com/RJT1990/mantra
- Owner: RJT1990
- License: apache-2.0
- Created: 2018-08-30T16:25:10.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-09-27T02:12:21.000Z (over 2 years ago)
- Last Synced: 2024-11-14T05:07:59.211Z (over 1 year ago)
- Topics: deep-learning, machine-learning
- Language: Python
- Size: 25.2 MB
- Stars: 345
- Watchers: 16
- Forks: 20
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
-----------------------------------------
[](https://circleci.com/gh/RJT1990/mantra)
[](https://badge.fury.io/py/mantraml)
[](https://gitter.im/mantraml/Lobby)
[](http://mantra.readthedocs.io/en/latest/?badge=latest)
**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](https://github.com/RJT1990/mantra/blob/master/CONTRIBUTING.md) for guidelines on how to contribute.
[You can read the docs here](http://mantra.readthedocs.io/en/latest/).
-----------------------------------------
## Get Started
🚀 To launch your first Mantra project, execute the following to create a new project directory:
```console
mantra launch my_project
```
☁ Configure your cloud settings and API keys:
```console
cd my_project
mantra cloud
```
💾 Get the example datasets and models from [here](https://github.com/RJT1990/mantra-examples):
```console
mantra import https://github.com/RJT1990/mantra-examples.git
```
🤖 Here are the example models you can train:
```console
mantra train relativistic_gan --dataset decks --cloud --dev --image-dim 256 256
```
```console
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:
```console
mantra ui
```
## Installation
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.
### AWS Dependencies
You will need to install AWS CLI as a dependency.
1. Login to AWS through a browser, click your name in the menubar and click My Security Credentials.
2. Create a new Access Key and make a note of the **Access Key ID** and **Secret Access Key**.
3. From terminal enter the following:
```console
johnsmith@computer:~$ pip install awscli
johnsmith@computer:~$ aws configure
```
Once prompted, enter your AWS details and your default region (e.g. *us-east-1*).
4. 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.
5. 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.
### Have Fun
> Arise! Awake! Approach the great and learn.