This repository contains the backend of MPCSL, a Modular Pipeline for Causal Structure Learning, build at the chair for Enterprise Platform and Integration Concepts at the Hasso Plattner Institute. The pipeline currently includes the following features, all of which are accessible via a REST API:
- Store causal structure learning ready datasets into our backend
- Set up causal structure learning experiments for different causal structure learning algorithms in R, Python and CUDA with different hyperparameter settings and dataset choices
- 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 (currently limited to specific cases)
- Comparison of different experiment results using quality metrics, such as type I or type II error, or graph edit distance
- Extend the pipeline with new algorithms in their own execution environments
The following image shows the holistic architecture as a FMC diagram:
As the user interface files are stored in a different currently private repository, you have to clone the repo using:
git clone --recurse-submodules [email protected]:hpi-epic/mpcsl.git
minikube start
garden deploy
garden run task seed-db
- Goto
minikube ip
in browser
garden run task db-setup-algorithms
loads the algorithms into the database.
With garden run task seed-db
an example dataset will be loaded into the database.
The example dataset is generated from an EARTHQUAKE bayesian network on this page.
A Swagger documentation of our REST endpoints is available using /swagger/index.html
given default host and port settings.
Contact: [email protected]