A platform for reproducible and scalable machine learning and deep learning on kubernetes
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jun 7, 2018
artifacts Update artifacts Nov 21, 2018
client Add archive/restore UI Feb 13, 2019
cmd Use python 3.6 Nov 15, 2018
config Update in_cluster validation Feb 10, 2019
docs Update integrations docs tags Feb 15, 2019
kubecmd Use python 3.6 Nov 15, 2018
logs Addd logs git keep May 16, 2018
polyaxon Allow to stop tensorboards and notebooks in any stoppable condition Feb 15, 2019
requirements Update requirements Feb 15, 2019
static Add archive/restore UI Feb 13, 2019
tests Prefix base job build properties Feb 14, 2019
web Update sanic and uwsgi api logging Feb 12, 2019
.coveragerc Update configs Mar 25, 2018
.dockerignore Update dockerignore May 15, 2018
.editorconfig Fix prospector errors Apr 9, 2018
.gitignore Update dockerizer dependencies Feb 9, 2019
.pyup.yml Update pyup schedule Mar 27, 2018
.travis.yml Update requirements and set correct dockerizer cmds Feb 10, 2019
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md Jun 11, 2018
CONTRIBUTING.md Initial commit Oct 31, 2017
Dockerfile Use python 3.6 Nov 15, 2018
LICENSE Add License Oct 30, 2018
MANIFEST.in Initial commit Oct 31, 2017
README.md Bump version to 0.3.8 Jan 27, 2019
docker-compose.testing.yml Update docker Jan 6, 2018
docker-compose.yml [WIP] Update logs handling Dec 10, 2018
pytest.ini Fix some renaming issues Jan 3, 2018
setup.cfg Lint Dec 16, 2018
setup.py Update django to 2.1.7 to fix some security issues Feb 11, 2019
tox.ini Update django to 2.1.7 to fix some security issues Feb 11, 2019
tslint.json Update tslint Aug 17, 2018

README.md

Build Status Docs Release Codacy Badge Slack

Polyaxon

Welcome to Polyaxon, a platform for building, training, and monitoring large scale deep learning applications.

Polyaxon deploys into any data center, cloud provider, or can be hosted and managed by Polyaxon, and it supports all the major deep learning frameworks such as Tensorflow, MXNet, Caffe, Torch, etc.

Polyaxon makes it faster, easier, and more efficient to develop deep learning applications by managing workloads with smart container and node management. And it turns GPU servers into shared, self-service resources for your team or organization.

Install

TL;DR;

  • Create a deployment

    # Create a namespace
    $ kubectl create namespace polyaxon
    
    # Add Polyaxon charts repo
    $ helm repo add polyaxon https://charts.polyaxon.com
    
    # Deploy Polyaxon
    $ helm install polyaxon/polyaxon \
        --name=polyaxon \
        --namespace=polyaxon \
        -f config.yaml
  • Install CLI

    # Install Polyaxon CLI
    $ pip install -U polyaxon-cli
    
    # Config Polyaxon CLI
    $ polyaxon config ...
    
    # Login to your account
    $ polyaxon login

Please check polyaxon installation guide

Quick start

TL;DR;

  • Start a project

    # Create a project
    $ polyaxon project create --name=quick-start --description='Polyaxon quick start.'
    
    # Clone the quick start repo
    $ git clone https://github.com/polyaxon/polyaxon-quick-start.git
    $ cd polyaxon-quick-start
    
    # initialize it
    $ polyaxon init quick-start
  • Train and track logs & resources

    # Upload code and start experiments
    $ polyaxon run -u
    
    # Stream logs
    $ polyaxon experiment -xp 1 logs
    
    # Stream resources
    $ polyaxon experiment -xp 1 resources
  • Dashboard

    # Start Polyaxon dashboard
    $ polyaxon dashboard
    
    Dashboard page will now open in your browser. Continue? [Y/n]: y
  • Notebook

    # Start Jupyter notebook for your project
    $ polyaxon notebook start -f polyaxon_notebook.yml
    
    Notebook is being deployed for project `quick-start`
    
    It may take some time before you can access the notebook..
    
    Your notebook will be available on:
    
        http://52.226.37.54:80/notebook/root/quick-start
  • Tensorboard

    # Start Tensorboard
    $ polyaxon tensorboard start
    
    Tensorboard is being deployed for project `quick-start`
    
    It may take some time before you can access tensorboard.
    
    Your tensorboard will be available on:
    
        http://52.226.37.54:80/tensorboard/root/quick-start

Please check our quick start guide to start training your first experiment.

Distributed training

Polyaxon supports and simplifies distributed training. Depending on the framework you are using, you need to adapt your code to enable the distributed training, and update your polyaxonfile with an environment section.

By default polyaxon creates a master job, so you only need to provide the workers and/or parameter servers.

Hyperparameters tuning

Polyaxon has a concept for suggesting hyperparameters and managing their results very similar to Google Vizier called experiment groups. An experiment group in Polyaxon defines a search algorithm, a search space, and a model to train.

Architecture

Polyaxon architecture

Documentation

Check out our documentation to learn more about Polyaxon.

Dashboard

Polyaxon comes with a dashboard that shows the projects and experiments created by you and your team members.

To start the dashboard, just run the following command in your terminal

$ polyaxon dashboard
  • List Projects

    Polyaxon dashboard

  • Project Overview

    Polyaxon dashboard

  • Experiments

    Polyaxon dashboard

  • Experiment Groups

    Polyaxon dashboard

  • Experiment Overview

    Polyaxon dashboard

  • Experiment Metrics

    experiment

  • Experiment Logs

    experiment

Project status

Polyaxon is in "beta" state. All interfaces, programming interfaces, and data structures may be changed. We'll do our best to communicate potentially disruptive changes.

Contributions

Please follow the contribution guide line: Contribute to Polyaxon.

Research

If you use Polyaxon in your academic research, we would be grateful if you could cite it.

Feel free to contact us, we would love to learn about your project and see how we can support your custom need.

License

FOSSA Status