/Fabrik

Fabrik – Collaboratively build, visualize, and design neural nets in the browser

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Join the chat at https://gitter.im/Cloud-CV/IDE Build Status Coverage Status

Fabrik is an online collaborative platform to build, visualize and train deep learning models via a simple drag-and-drop interface. It allows researchers to collaboratively develop and debug models using a web GUI that supports importing, editing and exporting networks written in widely popular frameworks like Caffe, Keras, and TensorFlow.

Interface

This app is presently under active development and we welcome contributions. Please check out our issues thread to find things to work on, or ping us on Gitter.

How to setup

  1. First set up a virtualenv

    sudo apt-get install python-pip python-dev python-virtualenv 
    virtualenv --system-site-packages ~/Fabrik
    source ~/Fabrik/bin/activate
    
  2. Clone the repository

    git clone --recursive https://github.com/Cloud-CV/Fabrik.git
    
  3. If you have Caffe, Keras and Tensorflow already installed on your computer, skip this step

  4. Install dependencies

  • For developers:
    pip install -r requirements/dev.txt
    
  • Others:
    pip install -r requirements/common.txt
    
  1. Install postgres >= 9.5
  • Setup postgres database
      psql -c "CREATE DATABASE fabrik" -U postgres
      psql -c "CREATE USER admin WITH PASSWORD 'fabrik'" -U postgres
      psql -c "ALTER ROLE admin SET client_encoding TO 'utf8'" -U postgres
      psql -c "ALTER ROLE admin SET default_transaction_isolation TO 'read committed'" -U postgres
      psql -c "ALTER ROLE admin SET timezone TO 'UTC'" -U postgres
      psql -c "ALTER USER admin CREATEDB" -U postgres
    
  • Migrate
    python manage.py makemigrations caffe_app
    python manage.py migrate
    
  1. Install node modules
npm install
webpack --progress --watch --colors

Usage

KERAS_BACKEND=theano python manage.py runserver

Example

  • Use example/tensorflow/GoogleNet.pbtxt for tensorflow import
  • Use example/caffe/GoogleNet.prototxt for caffe import
  • Use example/keras/vgg16.json for keras import

License

This software is licensed under GNU GPLv3. Please see the included License file. All external libraries, if modified, will be mentioned below explicitly.