Python Shell
Clone or download
mikkokotila Merge pull request #109 from autonomio/dev
cleaned up code for pep8 compliance
Latest commit f018cd0 Sep 2, 2017

README.md

Build Status Coverage Status Dependency Status PEP8

Autonomio provides a very high level abstraction layer for rapidly testing research ideas and instantly creating neural network based decision making models. Autonomio is built on top of Keras, using Tensorflow as a backend and spaCy for word vectorization. Autonomio brings deep learning and state-of-the-art linguistic processing accessible to anyone with basic computer skills. This document focus on an overview of Autonomio's capabilities.

If you want something higher level visit the website.

Getting Started

The simplest way is to install with pip from the repo directly.

pip install git+https://github.com/autonomio/core-module.git

User Documentation

You can find a comprehensive user documentation with code examples here.

Contribution Guidelines

Contributions are most welcome, read more here.

Examples

  • capabilities overview link
  • data transformation link
  • hyperparameter search link

(more examples coming soon / dated 31st of July, 2017)

Key Features

  • intuitive single-command user interface
  • hyper parameter grid search
  • comprehensive automated data transformation
  • optimized for Jupyter notebook use
  • NN shape selection and other unique configurations
  • create MLP, LSTM and Regression models
  • seamlessly integrates word2vec with Keras deep learning
  • interactive plots specifically designed for deep learning model evaluation

For most use cases successfully running a neural network works out of the box with zero configuration yielding a model that can be used to predict outcomes later.

Out-of-the-box use cases

Autonomio is the only deep learning workbench 100% focused on data science applications as opposed to perception problems (e.g. image detection), and have been used in a wide range of industrial and academic use cases.

  • Sentiment analysis
  • Social media account classification
  • Spam detection
  • Website classification
  • Fraud detection
  • Employee satisfaction evaluation
  • Popular Kaggle challenges (e.g. Titanic)

One line use examples

Training a model

First take care of the imports:

from autonomio.commands import train, predictor
%matplotlib inline

Then train the model:

train(x, y, data)

Training an LSTM model is even simpler:

train(x,model='lstm')

Making a prediction

predictor(data, saved_model_name)  

Visualization

Standard Training Output

mlp and regression training result

LSTM Training output

lstm training output

Hyperscan Output

4 dimensional hyperscan result

Tested Systems

Autonomio have been tested in several Mac OSX and Ubuntu environments (both server and desktop). Travis builds use Ubuntu Precise.

Minimum Hardware

You need a machine with at least 4gb of memory if you want to do text processing, and othewrise 2gb is totally fine and 1gb might be ok. Actually very low spec AWS instance runs Autonomio just fine.

Recommended setup

For research and production environments we recommend one server with at least 4gb memory as a 'work station' and a separate instance with high-end CUDA supported GPU. The GPU instance costs roughly $1 per hour, and can be shut down when not used. As setting up the GPU station from ground can be a bit of a headache, we recommend using the AWS Machine Learning AMI to get setup quickly.

Dependencies

Data Manipulation

Numpy

Pandas

Word Processing

spaCy

Deep Learning

Keras

Tensorflow

Visualization

Matplotlib

mpld3

Major credits to all the contributors to these amazing packages. Autonomio would definitely not be possible without them.