Skip to content

genp/kaizen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Genevieve Patterson
Nov 8, 2022
34320c2 · Nov 8, 2022
Nov 8, 2022
Nov 2, 2022
Nov 1, 2022
Aug 22, 2022
Aug 9, 2022
Nov 8, 2022
Aug 19, 2022
Aug 8, 2022
Nov 8, 2022
Aug 19, 2022
Nov 2, 2022
Nov 8, 2022
Nov 1, 2022

Repository files navigation

Webserver for Human-in-the-Loop Active learning.

The Kaizen Query Response UI

For further info on the use of this system, please see the following papers:

Tropel: Crowdsourcing Detectors with Minimal Training

Kaizen: The Crowd Pathologist

Contents of this Repo

LICENSE - Open source
README - This file
app - The main flask webserver
bin - scripts for setting up db, recreating, and running main server
test - unit tests
utils - utility functions for computer vision and feature extraction
tasks.py - jobs for the Celery task queue
extract.py - functions for extracting features
requirements.txt - python requirements
Dockerfile - instructions for Dockerizing this repo

Set up venv:

mkvirtualenv kaizen # this app tested with Python3.9 pip install -r requirements.txt

To restart venv:

workon kaizen

To add to python requirements:

pip freeze > requirements.txt

Setup the configuration parameters:

cp config-example.py config.py

Then edit the config.py file to suit your environment.

Add this repo to your PYTHONPATH:

export APPROOT=/Users/$USER/kaizen # this is an example of where the app might be. export PYTHONPATH= $APPROOT:$PYTHONPATH

Setup the postgres database:

createdb APPNAME-local # APPNAME should match that set in config.py

If you'd like to blow away the db:

dropdb APPNAME-local

Setup default objects in the database:

chmod +x ./bin/setup_database.py ./bin/setup_database.py

Load some data to play with:

chmod +x bin/forge.py ./bin/forge.py

Start Task Queue

Start the Celery server to manage new tasks from the Flask app:

celery -A tasks.celery worker --loglevel=debug

Start App Server

Run Server:

flask run

Unit Testing

Tests are in the tests directory

cd tests Run unit test classes using: python -m unittest unit_tests.py

The forge functions also serve as system tests.

License

This project is licensed under the MIT License (see the LICENSE file for details).