Training deep learning models on AWS and GCP instances
Project description
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
- See the documentation page.
- Read this article on Medium for a real-world example.
Installation
Requirements:
- Python >=3.6
- AWS CLI (see Installing the AWS Command Line Interface) if you're using AWS
- Google Cloud SDK (see Installing Google Cloud SDK) if you're using GCP
Use pip to install or upgrade Spotty:
$ pip install -U spotty
Get Started
-
Prepare a
spotty.yaml
file and put it to the root directory of your project: -
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.
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
, thend
combination of keys. To be attached to that session later, just use thespotty 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file spotty-1.3.3.tar.gz
.
File metadata
- Download URL: spotty-1.3.3.tar.gz
- Upload date:
- Size: 67.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f24cbd51750ac12f9562482ebc30cfc0e23d522b1e438707eae4086dd478af8e |
|
MD5 | 655fe410122a22372c00dd4cfe622a3d |
|
BLAKE2b-256 | 8d288fcb680613f400e68059d62b45e8fabb2d77caadf3ef40f3153535daab4d |
File details
Details for the file spotty-1.3.3-py3-none-any.whl
.
File metadata
- Download URL: spotty-1.3.3-py3-none-any.whl
- Upload date:
- Size: 127.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d1736bf29ee8516984a2ebbfb6163369d36845cd107ac29b2ad91207728b046 |
|
MD5 | dcf0fafe6fe97e1c34750792284ba366 |
|
BLAKE2b-256 | ea14880d996b1da83b3f7919528292a0e827bf0604cad72c1fc007fffd13e861 |