GithubHelp home page GithubHelp logo

turboworks's Introduction

TurboWorks

Machine Learning Interface/Black Box Optimizer for FireWorks workflows.

What is TurboWorks?

TurboWorks is a flexible and easy-to-use automatic machine-learning framework for Fireworks workflows.

Why would I use it?

If you have a complex task to execute across different computers, and you would like to use machine learning techniques to reduce the number of expensive calculations needed to run your task, TurboWorks is for you.

What can it do?

TurboWorks functions as a black box optimizer for an optimization loop; it requires no knowledge of a function in order to optimize it. More importantly though, TurboWorks retains the workflow management abilties of FireWorks (provenance, dynamic workflows, duplicate detection and correction, error handling).
TurboWorks is implemented as a modular, atomic task (FireTask) in a FireWorks workflow; it can run multiple optimizations for a single task, or it can execute only once in an entire workflow. It's up to you.

Where can I learn more?

To learn more about FireWorks, see the [official documentation] (https://materialsproject.github.io/fireworks/)

Requirements:

  • Python 2 or 3
  • NumPy
  • SciPy
  • Scikit-learn
  • FireWorks
  • MongoDB

Installation

# Download the repository and install
git clone https://github.com/ardunn/turboworks.git
cd turboworks
pip install . -r requirements

# Make sure Mongo DB's daemon is running
mongod

# Now lets run a minimization example
cd turboworks_examples
python test_basic.py

Tutorial 1: Get Up and running

Let's take a look at how Turboworks works.

Turboworks is a FireTask inside Fireworks called OptTask. OptTask stores all the optimization data from your Firework or workflow inside its own Mongodb collection. Using the data in this collection, it uses scikit learn regressors (or your own algorithms) to recommend the next best guess.

Tutorial 2: Implementing your own Optimization Algorithms

turboworks's People

Contributors

ardunn avatar computron avatar saurabh02 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.