StudioML

StudioML is a model management framework written in Python to help simplify and expedite your model building experience. It was developed to minimize any overhead involved with the scheduling, running, monitoring or mangagement of artifacts of your machine learning experiments in Python without invasion of your code. Nobody wants to spend their time configuring different machines, setting up dependencies, or playing archeology to track down previous model artifacts. 

Most of the features are compatible with any Python machine learning framework Keras, TensorFlow, scikit-learn, etc, some extra features are available for Keras and TensorFlow.

StudioML is hosted at https://github.com/studioml/studio.  More information including detailed documentation can be found at http://studio.ml.

**Use StudioML to:**

* Capture experiment information- Python environment, files, dependencies and logs- without modifying the experiment code.
* Monitor and organize experiments using a web dashboard that integrates with TensorBoard.
* Run experiments locally, remotely, or in the cloud (Google Cloud or Amazon EC2)
* Manage artifacts (persistence?)
* Perform hyperparameter search
* Create customizable Python environments for remote workers.


Example usage

Start visualizer:

    studio ui

Run your jobs:

    studio run myfile.py

You can see results of your job at http://127.0.0.1:5000. 
Run `studio {ui|run} --help` for a full list of ui / runner options


Installation

pip install studioml from the master pypi repositry:

    pip install studioml

or, install the source and development environment for StudioML from the git project directory:

    git clone https://github.com/studioml/studio && cd studio && pip install -e .

We recommend setting up a virtual environment, please see https://github.com/pypa/virtualenv.

For detailed information about how to setup your own compute resources for use with StudioML please visit http://studio.ml/.

Alpha program instructions

The following instructions only apply to the alpha version of StudioML and specific open source components.

Some runners can make use of the studio software distribution to start projects without any intervention, devops less runners.  To include the software distribution, add the tar.gz file to your workspace directory under a dist subdirectory for the runner.  Runners supporting software distribution will unroll the software and install it using virtualenv.

