spotty

Training deep learning models on AWS and GCP instances

Showing:

Popularity

Downloads/wk

0

GitHub Stars

355

Maintenance

Last Commit

5mos ago

Contributors

5

Package

Dependencies

6

License

MIT

Categories

Readme

Documentation PyPI PyPI - Python Version PyPI - License

Spotty drastically simplifies training of deep learning models on AWS and GCP:

  • it makes training on GPU instances as simple as training on your local machine
  • it automatically manages all necessary cloud resources including images, volumes, snapshots and SSH keys
  • it makes your model trainable in the cloud by everyone with a couple of commands
  • it uses tmux to easily detach remote processes from their terminals
  • it saves you up to 70% of the costs by using AWS Spot Instances and GCP Preemtible VMs

Documentation

Installation

Requirements:

Use pip to install or upgrade Spotty:

$ pip install -U spotty

Get Started

  1. Prepare a spotty.yaml file and put it to the root directory of your project:

    • See the file specification here.
    • Read this article for a real-world example.
  2. Start an instance:

    $ spotty start
    

    It will run a Spot Instance, restore snapshots if any, synchronize the project with the running instance and start the Docker container with the environment.

  3. Train a model or run notebooks.

    To connect to the running container via SSH, use the following command:

    $ spotty sh
    

    It runs a tmux session, so you can always detach this session using Ctrl + b, then d combination of keys. To be attached to that session later, just use the spotty sh command again.

    Also, you can run your custom scripts inside the Docker container using the spotty run <SCRIPT_NAME> command. Read more about custom scripts in the documentation: Configuration: "scripts" section.

Contributions

Any feedback or contributions are welcome! Please check out the guidelines.

License

MIT License

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100