Spotty simplifies training of Deep Learning models on AWS:
- it makes training on AWS GPU instances as simple as a training on your local computer
- it automatically manages all necessary AWS resources including AMIs, volumes and snapshots
- it makes your model trainable on AWS by everyone with a couple of commands
- it detaches remote processes from SSH sessions
- it saves you up to 70% of the costs by using Spot Instances
- Python 3
- AWS CLI (see Installing the AWS Command Line Interface)
Use pip to install or upgrade Spotty:
$ pip install -U spotty
spotty.yamlfile for your project.
Create an AMI with NVIDIA Docker. Run the following command from the root directory of your project (where the
spotty.yamlfile is located):
$ spotty create-ami
In several minutes you will have an AMI that can be used for all your projects within the AWS region.
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.
Train a model or run notebooks.
You can run custom scripts inside the Docker container using the
spotty run <SCRIPT_NAME>command. Read more about custom scripts in the documentation: Configuration File: "scripts" section.
To connect to the running container via SSH, use the following command:
$ spotty ssh
It runs a tmux session, so you can always detach this session using
Crtl + b, then
dcombination of keys. To be attached to that session later, just use the
spotty sshcommand again.