🏭 Collaboratively build, visualize, and design neural nets in browser
Clone or download
yashdusing and utsavgarg Updated README.md for tested models (AlexNet/Keras) (#380)
* Updated README.md for tested models (AlexNet/Keras)

Updated README.md for tested models (AlexNet/Keras). The only change needed is while importing the LRN layer, pass it as a dictionary (more info here : keras-team/keras#8612)

* Update README.md

* Update README.md

* Update README.md

* Create keras_custom_layer_usage.md

Instructions for adding custom layers to Keras

* Update keras_custom_layer_usage.md

Changed keras_custom_layer_usage

* Update README.md

* Update README.md
Latest commit cc3a175 Sep 18, 2018
Permalink
Failed to load latest commit information.
.github Added contribution guidelines (#68) May 17, 2017
caffe_app Fix: Extended Support for Layer Import for TF and keras (#293) (#296) Feb 4, 2018
docker Django Channels setup for Fabrik (#357) Jun 8, 2018
docs add UNET to the Model Zoo (#283) Jan 17, 2018
example LRN Support for Keras Import and Export (#356) Jun 1, 2018
ide Add Celery Setup (#361) Jun 14, 2018
keras_app LRN Support for Keras Import and Export (#356) Jun 1, 2018
media Updated Readme (#99) Aug 20, 2017
requirements Add Celery Setup (#361) Jun 14, 2018
scripts/tools Tools: Make fetch-pull-request script executable (#289) Jan 18, 2018
settings Add Celery Setup (#361) Jun 14, 2018
tensorflow_app LRN Support for Keras Import and Export (#356) Jun 1, 2018
tests LRN Support for Keras Import and Export (#356) Jun 1, 2018
tutorials Updated README.md for tested models (AlexNet/Keras) (#380) Sep 18, 2018
.babelrc minor changes in views Aug 1, 2016
.coveralls.yml Integrate coveralls for test coverage (#81) Jun 16, 2017
.editorconfig added eslint config Jun 19, 2016
.eslintrc Made layer selection as a nested dropdown (#76) Jun 11, 2017
.flake8 Fix #136: Setup sphinx for documentation (#139) Nov 4, 2017
.gitignore Add Celery Setup (#361) Jun 14, 2018
.gitmodules Changed caffe-tensorflow submodule url Jan 1, 2018
.travis.yml Django Channels setup for Fabrik (#357) Jun 8, 2018
CODE_OF_CONDUCT.md Created Code of Conduct (#301) Feb 18, 2018
LICENSE modular code Aug 22, 2016
README.md Updated README.md for tested models (AlexNet/Keras) (#380) Sep 18, 2018
docker-compose.yml Django Channels setup for Fabrik (#357) Jun 8, 2018
ide_nginx.conf uwsgi and Nginx configuration added along with minor change in settin… Sep 11, 2016
ide_uwsgi.ini uwsgi and Nginx configuration added along with minor change in settin… Sep 11, 2016
manage.py Fix #130: Add docker based setup for Fabrik (#344) May 2, 2018
package.json Changed jQuery version Jan 28, 2018
uwsgi_params uwsgi and Nginx configuration added along with minor change in settin… Sep 11, 2016
webpack.config.js Refined the user interface (#98) Aug 17, 2017

README.md

Join the chat at https://gitter.im/Cloud-CV/Fabrik 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.

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.

Installation Instructions

Setting up Fabrik on your local machine is really easy. You can setup Fabrik using two methods:

Using Docker

  1. Get the source code on to your machine via git.

    git clone https://github.com/Cloud-CV/Fabrik.git && cd Fabrik
  2. Rename settings/dev.sample.py as dev.py.

    cp settings/dev.sample.py settings/dev.py
    
  3. Build and run the Docker containers. This might take a while. You should be able to access Fabrik at 0.0.0.0:8000.

    docker-compose up --build
    

Using Virtual Environment

  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. Rename settings/dev.sample.py as settings/dev.py and change credential in settings/dev.py

    cp settings/dev.sample.py settings/dev.py
    
  4. Install redis server and replace the hostname to 'localhost' in settings/common.py line 99.

    sudo apt-get install redis-server
    
  5. If you have Caffe, Keras and Tensorflow already installed on your computer, skip this step

    • For Linux users
      cd Fabrik/requirements
      yes Y | sh caffe_tensorflow_keras_install.sh
      
      Open your ~/.bashrc file and append this line at the end
      export PYTHONPATH=~/caffe/caffe/python:$PYTHONPATH
      
      Save, exit and then run
      source ~/.bash_profile
      cd ..
      
    • For Mac users
  6. 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

    • Start postgresql by typing sudo service postgresql start
    • Now login as user postgres by running sudo -u postgres psql and type the commands below
      CREATE DATABASE fabrik;
      CREATE USER admin WITH PASSWORD 'fabrik';
      ALTER ROLE admin SET client_encoding TO 'utf8';
      ALTER ROLE admin SET default_transaction_isolation TO 'read committed';
      ALTER ROLE admin SET timezone TO 'UTC';
      ALTER USER admin CREATEDB;
    
    • Exit psql by typing in \q and hitting enter.
  • Migrate

    
    python manage.py makemigrations caffe_app
    python manage.py migrate
    
  1. Install node modules
npm install
sudo npm install -g webpack
webpack --progress --watch --colors

Usage

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

Tested models

The model conversion between currently supported frameworks is tested on some models.

Models Caffe Keras Tensorflow
Inception V3 √ √ √
Inception V4 √ √ √
ResNet 101 √ √ √
VGG 16 √ √ √
GoogLeNet √ Γ— Γ—
SqueezeNet √ Γ— Γ—
DenseNet √ Γ— Γ—
AllCNN √ Γ— Γ—
AlexNet √ √ √
FCN32 Pascal √ Γ— Γ—
YoloNet √ √ √
Pix2Pix √ Γ— Γ—
VQA √ √ √

Note: For models that use a custom LRN layer (Alexnet), Keras expects the custom layer to be passed when it is loaded from json. LRN.py is located in keras_app/custom_layers. Alexnet import for Keras

Documentation

License

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