ScaleShift
An Open Source Machine Learning Tool for making & training models.
Overview
ScaleShift is a client web application which makes it easier for researchers to build machine learning models locally and to train them on premise/cloud!
Key Capabilities
- A client application that has web-based user-friendly interfaces
- Can be run anywhere (Linux, macOS, Windows..)
- Supports any Python-based dockerized algorithms or software
- Fully integrated with NGC, Rescale platform & Kubernetes
How It Works
1. Setup a ScaleShift client
With just only 3 steps!
2. Download machine learning software
You can pull any docker images to the client from NGC, DockerHub or your private registry with just one click.
3. Create a new workspace
When you click a run
button, ScaleShift wraps the image with Jupyter notebook & run it as a docker container. Then you can build your own models on your specified software on it.
4. Train your models
In order to train the models in a parallel and distributed way, you can choose a Kubernetes cluster or Rescale platform. ScaleShift converts the image to Singularity automatically if it’s needed.
Get Started
Official Builds
Try ScaleShift on AWS
2. Access the Web UI
public_ip=$( sh -c "$( aws cloudformation describe-stacks --stack-name "scaleshift" \
--query 'Stacks[0].Outputs[?OutputKey==`PublicIPs`].OutputValue' \
--output text )" )
open "http://${public_ip}"
Local Installation
1. Install dependent softwares
2. Download the latest configuration
curl -so docker-compose.yml https://s3-ap-northeast-1.amazonaws.com/scaleshift/docker-compose-8080.yml
3. Start services
docker-compose up
Usage
Access the Web UI
http://localhost:8080
Access APIs directly
curl -sX POST -H "Content-Type: application/json" \
-d '{"image": "tensorflow/tensorflow:1.14.0-py3"}' \
http://localhost:8080/api/v1/notebooks
curl -sX GET -H "Content-Type: application/json" \
http://localhost:8080/api/v1/notebooks
Contribution
- Fork (https://github.com/rescale-labs/scaleshift/fork)
- Create a feature branch
- Commit your changes
- Rebase your local changes against the master branch
- Create new Pull Request
Copyright and license
Code released under the MIT license.