flikka / gordo

An API-first distributed deployment system of deep learning models using timeseries data to analyze and predict systems behaviour

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gordo


Building thousands of models with timeseries data to monitor systems.


Table of content

About

Gordo fulfills the role of inhaling config files and supplying components to the pipeline of:

  1. Fetching data
  2. Training model
  3. Serving model

Examples

See our example notebooks for how to develop with gordo locally.


Install

pip install --upgrade gordo

Bleeding edge:
pip install git+https://github.com/equinor/gordo.git

Uninstall

pip uninstall gordo

Developer manual

This section will explain how to start development of Gordo.

How to prepare working environment

  • install requirements
# create and activate virtualenv. Note: you should use python3.7 (project's tensorflow version is not compatible with python3.8)
# then:
pip install --upgrade pip
pip install --upgrade pip-tools
pip install -r requirements/full_requirements.txt
pip install -r requirements/test_requirements.txt

How to run tests locally

Tests system requirements

To run tests it's required for your system to has (note: commands might differ from your OS):

  • running docker process;
  • available 5432 port for postgres container.

Run tests

List of commands to run tests can be found here.
Running of tests takes some time, so it's faster to run tests in parallel:

# example
pytest tests/gordo/client/test_client.py --ignore benchmarks --cov-report= --no-cov -n auto -m 'not dockertest' 
# or if you have multiple python versions and they're not resolved properly:
python3.7 -m pytest ... 

How to run tests in debug mode

Note: this example is for Pycharm IDE to use breakpoints in the code of the tests.
On the configuration setup for test running add to Additional arguments: in pytest section following string: --ignore benchmarks --cov-report= --no-cov

About

An API-first distributed deployment system of deep learning models using timeseries data to analyze and predict systems behaviour

License:GNU Affero General Public License v3.0


Languages

Language:Python 97.4%Language:Shell 1.3%Language:Makefile 0.7%Language:Dockerfile 0.5%Language:Jinja 0.1%