forneylab.jl
Julia package for automatically generating Bayesian inference algorithms through message passing on Forney-style factor graphs.
Science Score: 64.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org, ieee.org -
✓Committers with academic emails
2 of 20 committers (10.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Julia package for automatically generating Bayesian inference algorithms through message passing on Forney-style factor graphs.
Basic Info
Statistics
- Stars: 149
- Watchers: 14
- Forks: 34
- Open Issues: 12
- Releases: 10
Topics
Metadata Files
README.md
ForneyLab.jl
ForneyLab.jl is a Julia package for automatic generation of (Bayesian) inference algorithms. Given a probabilistic model, ForneyLab generates efficient Julia code for message-passing based inference. It uses the model structure to generate an algorithm that consists of a sequence of local computations on a Forney-style factor graph (FFG) representation of the model. For an excellent introduction to message passing and FFGs, see The Factor Graph Approach to Model-Based Signal Processing by Loeliger et al. (2007). Moreover, for a comprehensive overview of the underlying principles behind this tool, see A Factor Graph Approach to Automated Design of Bayesian Signal Processing Algorithms by Cox et. al. (2018).
We designed ForneyLab with a focus on flexible and modular modeling of time-series data. ForneyLab enables a user to:
- Conveniently specify a probabilistic model;
- Automatically generate an efficient inference algorithm;
- Compile the inference algorithm to executable Julia code.
The current version supports belief propagation (sum-product message passing), variational message passing and expectation propagation.
The ForneyLab project page provides more background on ForneyLab as well as pointers to related literature and talks. For a practical introduction, have a look at the demos.
Documentation
Full documentation is available at BIASlab website.
It is also possible to build documentation locally. Just execute
bash
$ julia make.jl
in the docs/ directory to build a local version of the documentation.
Installation
Install ForneyLab through the Julia package manager:
jl
] add ForneyLab
If you want to be able to use the graph visualization functions, you will also need to have GraphViz installed. On Linux, just use apt-get install graphviz or yum install graphviz. On Windows, run the installer and afterwards manually add the path of the GraphViz installation to the PATH system variable. On MacOS, use for example brew install graphviz. The dot command should work from the command line.
Some demos use the PyPlot plotting module. Install it using ] add PyPlot.
Optionally, use ] test ForneyLab to validate the installation by running the test suite.
Getting started
There are demos available to get you started. Additionally, the ForneyLab project page contains a talk and other resources that might be helpful.
License
MIT License, Copyright (c) 2022 BIASlab http://biaslab.org see LICENSE.md file for details.
Owner
- Name: BIASlab
- Login: biaslab
- Kind: organization
- Email: info@biaslab.org
- Location: Eindhoven, the Netherlands
- Website: http://biaslab.org
- Repositories: 47
- Profile: https://github.com/biaslab
Bayesian Intelligent Autonomous Systems lab
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
A factor graph approach to automated design of
Bayesian signal processing algorithms
message: >-
Please cite the ForneyLab software package as
indicated below
type: software
authors:
- given-names: Marco
family-names: Cox
- given-names: Thijs
name-particle: van de
family-names: Laar
- given-names: Bert
name-particle: de
family-names: Vries
identifiers:
- type: doi
value: 10.1016/j.ijar.2018.11.002
GitHub Events
Total
- Watch event: 2
- Fork event: 1
Last Year
- Watch event: 2
- Fork event: 1
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Thijs | t****r@h****m | 849 |
| Marco Cox | m****l@m****m | 429 |
| Ivan Bocharov | b****a@g****m | 245 |
| semihakbayrak | s****k@g****m | 75 |
| AnoukvDiepen | a****n@g****m | 46 |
| Martin Roa Villescas | m****i@g****m | 44 |
| albertpod | a****o@g****m | 32 |
| Dmitri Bagaev | b****i@g****m | 31 |
| Bart van Erp | b****p@t****l | 14 |
| bertdv | b****v@g****m | 10 |
| Wouter van Roosmalen | w****n@g****m | 7 |
| I. Senoz | i****z@t****l | 5 |
| MagnusKoudahl | m****l@g****m | 4 |
| wmkouw | w****w@g****m | 3 |
| Kevin Murphy | m****k@g****m | 2 |
| Jameson Nash | v****h@g****m | 1 |
| KeithWM | k****h@m****l | 1 |
| KristofferC | k****9@g****m | 1 |
| Moritz Schauer | m****r@w****e | 1 |
| github-actions[bot] | 4****] | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 38
- Total pull requests: 62
- Average time to close issues: 8 months
- Average time to close pull requests: about 2 months
- Total issue authors: 22
- Total pull request authors: 8
- Average comments per issue: 2.87
- Average comments per pull request: 0.84
- Merged pull requests: 43
- Bot issues: 0
- Bot pull requests: 16
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- erlebach (6)
- ThijsvdLaar (5)
- semihakbayrak (3)
- albertpod (3)
- quantumhub (2)
- bvdmitri (2)
- bartvanerp (2)
- bcjr-hue (1)
- jagiellonczyk14 (1)
- pzeidman (1)
- oliverdutton (1)
- HoangMHNguyen (1)
- wmkouw (1)
- caxelrud (1)
- HiroIshida (1)
Pull Request Authors
- ThijsvdLaar (24)
- github-actions[bot] (16)
- bvdmitri (7)
- bartvanerp (4)
- semihakbayrak (4)
- ivan-bocharov (4)
- albertpod (2)
- vtjnash (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- SpecialFunctions *
- julia 0.7
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg latest composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest latest composite
- julia-actions/setup-julia v1 composite