This repository contains models and benchmark experiments across three packages: ReactiveMP.jl, ForneyLab.jl, and Turing.jl. The codebase is using the Julia Language (last LTS version is 1.6) and DrWatson to make a reproducible scientific project named ReactiveMPPaperExperiments.
The repository has been authored by Bagaev Dmitry [email protected].
To (locally) reproduce this project, do the following:
-
Install the Julia programming language of 1.6.x version, Jupyter notebooks and
IJulia
kernel.Important: Experiments have been verified on Julia 1.6.4. To manage different version of Julia we can recommended juliup - cross-platform Julia version manager.
-
Install
DrWatson
julia package with the following command:julia -e 'import Pkg; Pkg.add("DrWatson")'
-
Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently (see Step 4.).
-
Run the following command in the root directory of this repository:
julia --project -e 'import Pkg; Pkg.instantiate()'
This command will replicate the exact same environment as was used during the experiments. Any other
Pkg
related commands may alter this enviroment or/and change versions of packages. -
(Optional) Download precomputed benchmark .JLD2 files from releases page and unzip them in
data
folder.Precomputed benchmarks drastically reduce the amount of time needed to run notebooks and represent the exact same data used in the paper submission. Note, however, that benchmark results on different machines may differ.
This will install all necessary packages for you to be able to run the scripts and everything should work out of the box.
All notebooks with code examples are present in notebooks/
folder. Notebooks have been written with the Jupyter. By default IJulia
is not included in Project.toml
. To run and explore experiments you will need Jupyter and IJulia kernel installed on your system.