Skip to content
Christopher Hagedorn edited this page Feb 5, 2021 · 22 revisions

Welcome to the Causal Structure Learning Pipeline wiki! On this page, you find a general overview of the project. Check out the sidebar to find out how to set it up or extend it with more features. The frontend repository can be found here.

The pipeline currently includes the following features, all of which are accessible via a REST API:

  • Store causal inference ready datasets into our backend
  • Set up causal inference experiments for different causal inference algorithms in R with different hyperparameter settings and dataset choice
  • Run the experiments as jobs directly in our backend
  • Manage all currently running jobs on the backend
  • Deliver the results and meta information of past experiments
  • Show distributions and perform interventions on results
  • Annotate results with additional information
  • Extend the pipeline with new algorithms in their own execution environments (e.g. C++)
  • Upload ground truth graphs for your datasets
  • Compare experiment results to the ground truth graph
  • Compare two experiment results of the same dataset

The following image shows the holistic architecture as a FMC diagram:

You can download an old version of the diagram in the following Signavio project file and svg here

Additionally, the data model can be seen as ER diagram:

You can download the ER diagram as .graphml file here. All models are defined in the master/models directory.

The directory tree looks like this:

services                 Contains all modules of the mpci garden project
|-backend                HELM chart for backend deployment (as a garden module)
|-executionenvironments  contains source code for cuda and R execution images (as garden modules)
|-frontend               HELM chart for frontend deployment (as garden module)
|-frontend-image         contains the mpci-frontend repository plus nginx and docker configuration (as garden module)
|-pgweb                  HELM chart for pgweb postgres administrator (as garden module)
|-postgres               garden module for the postgres database
|-python-images          source code for scheduler and backend images (as garden modules)
|-scheduler              HELM chart for scheduler deployment
garden.yml                The mpci garden project is defined here