Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New big release 3.0.0 #272

Merged
merged 324 commits into from
Apr 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
324 commits
Select commit Hold shift + click to select a range
d8d4fae
More tests
bvdmitri Mar 19, 2024
e721dbc
add comments
bvdmitri Mar 19, 2024
840efdb
fix test name
bvdmitri Mar 19, 2024
8cb2f0f
new tests
bvdmitri Mar 19, 2024
6a9476c
new tests
bvdmitri Mar 19, 2024
f5bc5fd
fix the name of a test
bvdmitri Mar 19, 2024
5c874a0
Fix tests
bvdmitri Mar 19, 2024
aaab0f7
fix tests
bvdmitri Mar 19, 2024
0829d71
fix some tests
bvdmitri Mar 19, 2024
b0f71f2
fix CVI tests
bvdmitri Mar 19, 2024
9f78f5d
Fix probit node tests
bvdmitri Mar 20, 2024
52a0528
work on tests
bvdmitri Mar 21, 2024
5646604
fix HGF tests for autoupdates
bvdmitri Mar 22, 2024
06e9d71
2prev
bvdmitri Mar 22, 2024
9811433
more tests
bvdmitri Mar 22, 2024
cf2029e
More tests
bvdmitri Mar 22, 2024
05cf01c
Fix tests
bvdmitri Mar 22, 2024
1294f7c
uncomment broadcasting test
bvdmitri Mar 22, 2024
5796fe3
Uncomment the broadcasting test
bvdmitri Mar 25, 2024
fbf7478
Implement linked datavars
bvdmitri Mar 25, 2024
d56a289
fix tests
bvdmitri Mar 25, 2024
70900e3
remove old tests (tested in other places or in GraphPPL)
bvdmitri Mar 25, 2024
0f1ecd0
Fix return val statement
bvdmitri Mar 25, 2024
b0a40f3
more tests
bvdmitri Mar 25, 2024
5ccfb7c
update README
bvdmitri Mar 25, 2024
9f69645
Improve performance
bvdmitri Mar 25, 2024
3bc734e
fix some tests
bvdmitri Mar 26, 2024
df7c847
start fixing predictions
bvdmitri Mar 26, 2024
dec9d5f
Fixing the predictions
bvdmitri Mar 26, 2024
b4e64a3
write tests
bvdmitri Mar 26, 2024
8bf0b77
remove undefined import
bvdmitri Mar 28, 2024
fcd0120
fix tests
bvdmitri Mar 28, 2024
aa31e70
Fix form constraints
bvdmitri Mar 28, 2024
ba5d74f
fix prediction tests
bvdmitri Mar 28, 2024
fe98ef2
fix tests
bvdmitri Mar 28, 2024
cdeb3bd
2prev
bvdmitri Mar 28, 2024
fd2519d
Start fixing the documentation
bvdmitri Mar 28, 2024
ef12856
Adjust to the latest GraphPPL.jl
bvdmitri Apr 2, 2024
b0912e6
set minimum GraphPPL version to 4.0.0
bvdmitri Apr 3, 2024
7729c05
changes to recent GraphPPL
bvdmitri Apr 3, 2024
e258dc6
fix Bayesian Linear Regression Tutorial
bvdmitri Apr 3, 2024
9c3c7f3
add Manifest.toml
bvdmitri Apr 3, 2024
fd4fb39
update universal mixtures example
bartvanerp Apr 3, 2024
071c5e3
make format
bartvanerp Apr 3, 2024
8d15e1d
Merge pull request #246 from ReactiveBayes/dev-4.0.0-examples-mixture
bvdmitri Apr 3, 2024
63a5956
update notebook
bartvanerp Apr 3, 2024
ec956a5
fix: update Infinite Data Stream
Nimrais Apr 3, 2024
af7acd5
fix the tutorial
bvdmitri Apr 3, 2024
e19e3f8
2prev
bvdmitri Apr 3, 2024
427e5e1
Merge pull request #248 from ReactiveBayes/dev-4.0.0-examples-ids
bvdmitri Apr 3, 2024
50a291e
Merge pull request #247 from ReactiveBayes/dev-4.0.0-examples-INN
bvdmitri Apr 3, 2024
666e5dc
Merge pull request #249 from ReactiveBayes/dev-4.0.0-examples.advance…
wouterwln Apr 3, 2024
9ec03ab
Update gaussian mixture example
wouterwln Apr 3, 2024
6127397
Update GP SSM example
HoangMHNguyen Apr 3, 2024
bf5f2cb
Update few examples
albertpod Apr 3, 2024
47d5c05
A `Distribution` object as priors in arguments should work with the c…
bvdmitri Apr 3, 2024
093159c
Merge pull request #250 from ReactiveBayes/dev-4.0.0-examples-gaussia…
bvdmitri Apr 4, 2024
791543a
set new ReactiveMP version in compat bounds
bvdmitri Apr 4, 2024
52f3e64
bug in BIFM example
HoangMHNguyen Apr 4, 2024
59296e2
remove allow missing statement
bvdmitri Apr 4, 2024
836e307
Merge pull request #251 from ReactiveBayes/dev-4.0.0-examples-GPSDE
bvdmitri Apr 4, 2024
be24790
Update RTS-BIFM example
HoangMHNguyen Apr 4, 2024
f68bdfe
Merge pull request #252 from ReactiveBayes/dev-4.0.0-examples-RTSBIFM
bvdmitri Apr 4, 2024
00de999
fxi example
bvdmitri Apr 4, 2024
fea0f4e
fix: update Non.Sensor Fusion
Nimrais Apr 4, 2024
020cf4c
fix: update Gamma Mixture Example
Nimrais Apr 4, 2024
3cfb66c
Merge pull request #254 from ReactiveBayes/dev-4.0.0-examples-gammamm
wouterwln Apr 4, 2024
ba28102
rerun the experiment
bvdmitri Apr 4, 2024
69be953
Merge pull request #255 from ReactiveBayes/dev-4.0.0-examples-hgf
bvdmitri Apr 4, 2024
55218ef
use length of y instead of global variable for iterations
bvdmitri Apr 4, 2024
7cf65a4
Merge pull request #253 from ReactiveBayes/dev-4.0.0-examples-ns
bvdmitri Apr 4, 2024
6bc864c
fix: update the Assessing People's Skills example
carbonbasedsoul Apr 4, 2024
d89e0db
Fix examples
albertpod Apr 4, 2024
ddc31ee
Merge pull request #256 from carbonbasedsoul/dev-4.0.0-examples-peopl…
bvdmitri Apr 5, 2024
fdd3621
add more info about BFE
bvdmitri Apr 5, 2024
9e39500
update functional forms
bvdmitri Apr 5, 2024
4acb25a
fix docs for model construction
bvdmitri Apr 5, 2024
ce934c1
minor fixes
bvdmitri Apr 5, 2024
90257c1
getting strated guide adjustments
bvdmitri Apr 5, 2024
77f3e84
2prev
bvdmitri Apr 5, 2024
a730c05
adjust comparison guide
bvdmitri Apr 5, 2024
be58dfe
Create a user friendly way to condition data to the model
bvdmitri Apr 5, 2024
1c74c33
Improve getting started guide
bvdmitri Apr 5, 2024
9046807
adjust model specification guide
bvdmitri Apr 5, 2024
aa361a2
2prev
bvdmitri Apr 5, 2024
d193bee
add thesis link in README
bvdmitri Apr 5, 2024
5d1771c
improve docs
bvdmitri Apr 5, 2024
f776816
update model spec
bvdmitri Apr 5, 2024
cefb557
adjust model spec guide
bvdmitri Apr 5, 2024
76902b4
2prev
bvdmitri Apr 5, 2024
de458f2
Update predicting bike rental
albertpod Apr 5, 2024
d2049c2
fix: update Hidden Markov Model Example
Sepideh-Adamiat Apr 5, 2024
dd4cea4
updating Kalman Filter Example
Malandii Apr 6, 2024
80e3e9e
Update debugging.md
bvdmitri Apr 7, 2024
43c27e3
rerun notebook, cosmetic changes
bvdmitri Apr 7, 2024
0571d71
Merge pull request #260 from tonmalan/dev-4.0.0-examples-kalman
bvdmitri Apr 7, 2024
b2e02cc
Merge pull request #259 from ReactiveBayes/dev-4.0.0-examples-HiddenM…
bvdmitri Apr 7, 2024
f5e5d11
remove help note
bvdmitri Apr 7, 2024
b3cc352
Merge branch 'dev-4.0.0-examples' into dev-4.0.0-example-albert-patch
bvdmitri Apr 7, 2024
95d4fcf
Merge pull request #258 from ReactiveBayes/dev-4.0.0-example-albert-p…
bvdmitri Apr 7, 2024
6971f3d
update
bvdmitri Apr 7, 2024
ededdf9
update model construction
bvdmitri Apr 7, 2024
9f00441
2prev
bvdmitri Apr 7, 2024
a5a3e98
2prev
bvdmitri Apr 7, 2024
d038f4f
update docs
bvdmitri Apr 7, 2024
25b0066
update docs
bvdmitri Apr 7, 2024
c90cb23
update docs
bvdmitri Apr 7, 2024
933fb6d
Update constraints section
bvdmitri Apr 8, 2024
f0fe505
Adjust meta docs
bvdmitri Apr 8, 2024
b763692
2prev
bvdmitri Apr 8, 2024
434cdd3
add more icons to the navbar
bvdmitri Apr 8, 2024
5f8fbd7
fix custom node example
bvdmitri Apr 8, 2024
c1d6001
fix delta node manual
bvdmitri Apr 8, 2024
2d898d9
fix postprocessing manual page
bvdmitri Apr 8, 2024
fcaf70d
remove manual inference section
bvdmitri Apr 8, 2024
8142d7d
fixes for docs
bvdmitri Apr 8, 2024
3676062
2prev
bvdmitri Apr 8, 2024
53cb16b
Update constraints macro docs and spell-check meta
wouterwln Apr 8, 2024
e256fd9
probit example GraphPPl v4 compatble and few enhancements
Raphael-Tresor Apr 8, 2024
4afb0ae
markdown text
Raphael-Tresor Apr 9, 2024
a41c80c
formatting
Raphael-Tresor Apr 9, 2024
aa76689
reverse Project.toml
bvdmitri Apr 9, 2024
7c1cade
Merge pull request #262 from ReactiveBayes/dev-4.0.0-examples-probit
bvdmitri Apr 9, 2024
8945344
Update MountainCart example with new Graph PPL
Sepideh-Adamiat Apr 9, 2024
da7d6ef
improve docs
bvdmitri Apr 9, 2024
4a649e6
start streamline inference guide
bvdmitri Apr 9, 2024
6bd2b84
instantiate next section in the streamline inference guide
bvdmitri Apr 9, 2024
7b0f5ca
GraphPPL error when runnug the inference
Raphael-Tresor Apr 9, 2024
7c66fdd
update
bvdmitri Apr 9, 2024
fe1f3df
Implement initialization plugin
wouterwln Apr 9, 2024
3b6f619
expand FE guide
bvdmitri Apr 9, 2024
5c3796b
Fix some links
bvdmitri Apr 9, 2024
dd085e1
2prev
bvdmitri Apr 9, 2024
c2752a0
fix majority of tests
wouterwln Apr 9, 2024
bfe32b6
make format
wouterwln Apr 9, 2024
b1d9efe
Implement initialization plugin
wouterwln Apr 9, 2024
7918132
fix majority of tests
wouterwln Apr 9, 2024
fe9853c
make format
wouterwln Apr 9, 2024
263f3f8
Merge branch 'init-macro' of https://github.com/ReactiveBayes/RxInfer…
wouterwln Apr 9, 2024
5faeefe
add test
wouterwln Apr 9, 2024
0ea4258
update the documentation
bvdmitri Apr 9, 2024
f961888
Add default init specification
wouterwln Apr 10, 2024
3bc841f
Add default_init test
wouterwln Apr 10, 2024
175238b
Fix matrix initialisation bug
wouterwln Apr 10, 2024
5d07a0c
make format
wouterwln Apr 10, 2024
b62f704
Merge pull request #264 from ReactiveBayes/dev-4.0.0-examples-Mountai…
wouterwln Apr 10, 2024
588f847
update to coin toss model for GraphPPL v4
Apr 10, 2024
9094910
fixing model
Raphael-Tresor Apr 10, 2024
4b10a8a
more tests
bvdmitri Apr 10, 2024
557376d
update to example
Apr 10, 2024
3e110da
update to example of SNN
Apr 10, 2024
3d47a7e
Merge pull request #269 from ReactiveBayes/dev-4.0.0-examples-chance-…
bvdmitri Apr 10, 2024
bda7c53
update to example of SNN
Apr 10, 2024
a006aad
Merge pull request #267 from ReactiveBayes/_coin_toss_update
bvdmitri Apr 10, 2024
6f1e162
Merge pull request #270 from ReactiveBayes/_update_SNN
bvdmitri Apr 10, 2024
a8ff165
Merge pull request #243 from ReactiveBayes/dev-4.0.0-examples-linear-…
bvdmitri Apr 10, 2024
f3890eb
remove Manifest
bvdmitri Apr 10, 2024
052d6b8
Merge pull request #271 from ReactiveBayes/dev-4.0.0-examples
bvdmitri Apr 10, 2024
b1aecc0
Merge branch 'dev-4.0.0-documentation' into init-macro
bvdmitri Apr 10, 2024
7ad5e6c
Merge pull request #265 from ReactiveBayes/init-macro
bvdmitri Apr 10, 2024
62d2b5b
Change factorisation to factorization
wouterwln Apr 10, 2024
9d7a066
update minimum version requirements
bvdmitri Apr 10, 2024
8ff05ff
proofread readme.md
wouterwln Apr 10, 2024
cee6c5c
Proofread index.md
wouterwln Apr 10, 2024
1c408a6
Merge branch 'main' into dev-3.0.0
bvdmitri Apr 11, 2024
6e31e14
change "init" to "initialization"
wouterwln Apr 11, 2024
8276743
Merge branch 'dev-3.0.0' into 274-use-initialization-instead-of-init-…
wouterwln Apr 11, 2024
b566099
Merge pull request #276 from ReactiveBayes/274-use-initialization-ins…
wouterwln Apr 11, 2024
169cf57
Migration guide initial commit
wouterwln Apr 11, 2024
1aa212e
Update init manual
wouterwln Apr 11, 2024
321aafd
Fix documentation to use the initialization
bvdmitri Apr 11, 2024
3653eb2
further fixes for the documentation
bvdmitri Apr 11, 2024
1eddb9c
update examples
wouterwln Apr 11, 2024
3df5e26
Add error message for trailing commas
wouterwln Apr 11, 2024
f5b2427
Merge pull request #281 from ReactiveBayes/279-consufing-error-messag…
wouterwln Apr 11, 2024
5d3bad0
make format
wouterwln Apr 11, 2024
249da92
proofread readme.md
wouterwln Apr 10, 2024
c60d0e6
Proofread index.md
wouterwln Apr 10, 2024
7dd12f6
Merge branch 'documentation-check' of https://github.com/ReactiveBaye…
wouterwln Apr 11, 2024
6f08773
finish the streamlined inference manual
bvdmitri Apr 11, 2024
b4ec6e7
minor fixes
bvdmitri Apr 11, 2024
b2172ea
2prev
bvdmitri Apr 11, 2024
77496d5
update bayesian Linear Regression example to new initialization
HoangMHNguyen Apr 11, 2024
29647b8
Cosmetic changes to the documentation
bvdmitri Apr 11, 2024
3f8bb0b
fix compilation error
bvdmitri Apr 11, 2024
c69f3f3
fix documentation build
bvdmitri Apr 11, 2024
a4fe3de
2prev
bvdmitri Apr 11, 2024
8932183
docs
bvdmitri Apr 11, 2024
8c8351b
Merge branch 'dev-3.0.0' into 275-we-need-a-migration-guide-for-v3
bvdmitri Apr 11, 2024
2f2d2b6
Merge pull request #278 from ReactiveBayes/275-we-need-a-migration-gu…
bvdmitri Apr 11, 2024
930d15c
add the migration guide to the make.jl function for documentation
bvdmitri Apr 11, 2024
a0ed343
prettify docs
bvdmitri Apr 11, 2024
be2ad9b
update rest of examples
wouterwln Apr 11, 2024
7a59d0c
Merge branch 'dev-3.0.0' into 277-adjust-examples-to-new-initializati…
wouterwln Apr 11, 2024
84067ad
Merge pull request #282 from ReactiveBayes/277-adjust-examples-to-new…
wouterwln Apr 11, 2024
325fbd8
fix inconsistent docs in functional forms
wouterwln Apr 11, 2024
36f670a
Review the old infer docstring
bvdmitri Apr 11, 2024
9871e0b
fix typo in model construction page
wouterwln Apr 11, 2024
de8d844
We do have modularity!!!!!
wouterwln Apr 11, 2024
70145f5
fix typo
wouterwln Apr 11, 2024
84a2207
update docs
bvdmitri Apr 11, 2024
da02d9f
merge lines
wouterwln Apr 11, 2024
e9ed69d
proofread readme.md
wouterwln Apr 10, 2024
dd59c22
Proofread index.md
wouterwln Apr 10, 2024
624ab21
fix inconsistent docs in functional forms
wouterwln Apr 11, 2024
dbffd77
fix typo in model construction page
wouterwln Apr 11, 2024
41f11e4
We do have modularity!!!!!
wouterwln Apr 11, 2024
70b17fb
fix typo
wouterwln Apr 11, 2024
ca20968
merge lines
wouterwln Apr 11, 2024
aef4660
merge lines
wouterwln Apr 11, 2024
feddaed
Add docstring for init macro
wouterwln Apr 11, 2024
3d2795f
Make docs run
wouterwln Apr 11, 2024
dce0a42
fix CVI example
bvdmitri Apr 11, 2024
227da3f
add nested model meta section
wouterwln Apr 11, 2024
31558af
fix CVI example
bvdmitri Apr 11, 2024
1beb06d
fix CVI example
bvdmitri Apr 11, 2024
ec50c41
Merge branch 'documentation-check' of https://github.com/ReactiveBaye…
wouterwln Apr 11, 2024
9ff939c
Change streamlined to streaming
wouterwln Apr 11, 2024
d02d7a2
Merge lines
wouterwln Apr 11, 2024
f7caadf
fix more examples
bvdmitri Apr 11, 2024
9155e92
update benchmark example and hidden example
bvdmitri Apr 11, 2024
7e2aa9f
2prev
bvdmitri Apr 11, 2024
62032a3
Merge branch 'dev-3.0.0' into reupdate-examples-with-init
bvdmitri Apr 11, 2024
d06169f
Merge pull request #280 from ReactiveBayes/reupdate-examples-with-init
bvdmitri Apr 11, 2024
7eb370a
Merge branch 'dev-3.0.0' into documentation-check
bvdmitri Apr 11, 2024
d2cc063
Merge pull request #283 from ReactiveBayes/documentation-check
bvdmitri Apr 12, 2024
918b578
refactoring
bvdmitri Apr 12, 2024
91c57f7
refactoring2
bvdmitri Apr 12, 2024
5bfee7d
bump version to 3.0.0
bvdmitri Apr 12, 2024
21431a2
docs fixes
bvdmitri Apr 12, 2024
dda5245
improve the documentation for static inference
bvdmitri Apr 12, 2024
0422951
update docs
bvdmitri Apr 12, 2024
9cda547
2prev
bvdmitri Apr 12, 2024
39755b0
Proofread documentation
albertpod Apr 12, 2024
7f5071d
Fix header
albertpod Apr 12, 2024
750a620
Merge pull request #284 from ReactiveBayes/dev-3.0.0-documentation-pr…
wouterwln Apr 12, 2024
c7ee330
Fix show for initialization
wouterwln Apr 12, 2024
e00bed9
Merge pull request #285 from ReactiveBayes/show-for-initialization
wouterwln Apr 12, 2024
d8fd187
Update all callbacks
wouterwln Apr 12, 2024
a1b4582
typos
bvdmitri Apr 12, 2024
b24a90a
typo2
bvdmitri Apr 12, 2024
cad6f7c
Merge branch 'dev-3.0.0' into dev-3.0.0-documentation-static
bvdmitri Apr 12, 2024
d905bc3
Merge pull request #286 from ReactiveBayes/dev-3.0.0-documentation-st…
wouterwln Apr 12, 2024
f41e313
fix various warnings in the documentation build
bvdmitri Apr 12, 2024
07b20ea
Fix links in BLR tutorial
bvdmitri Apr 12, 2024
cc112fc
fix postprocessing link
bvdmitri Apr 12, 2024
49da866
Add external examples to the examples overview
bvdmitri Apr 12, 2024
1d45785
style: make format
bvdmitri Apr 12, 2024
ed94db8
improve links
bvdmitri Apr 12, 2024
c193af8
fixes for Aqua tests
bvdmitri Apr 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "RxInfer"
uuid = "86711068-29c9-4ff7-b620-ae75d7495b3d"
authors = ["Bagaev Dmitry <d.v.bagaev@tue.nl> and contributors"]
version = "2.17.1"
version = "3.0.0"

[deps]
BayesBase = "b4ee3484-f114-42fe-b91c-797d54a0c67e"
Expand All @@ -28,15 +28,15 @@ Distributions = "0.25"
DomainSets = "0.5.2, 0.6, 0.7"
ExponentialFamily = "1.2"
FastCholesky = "1.3.0"
GraphPPL = "3.1.0"
GraphPPL = "~4.0.0"
LinearAlgebra = "1.9"
MacroTools = "0.5.6"
Optim = "1.0.0"
ProgressMeter = "1.0.0"
Random = "1.9"
ReactiveMP = "~3.14.0"
ReactiveMP = "~4.0.0"
Reexport = "1.2.0"
Rocket = "1.7.0"
Rocket = "1.8.0"
TupleTools = "1.2.0"
julia = "1.9"

Expand Down
46 changes: 27 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,13 @@ Inference with RxInfer | Inference with HMC
![](benchmarks/plots/inference_rxinfer.svg?raw=true&sanitize=true) | ![](benchmarks/plots/inference_turing.svg?raw=true&sanitize=true)

The benchmark and accuracy experiment, which generated these plots, is available in the `benchmarks/` folder. Note, that the execution speed and accuracy
of the HMC estimator heavily depends on the choice of hyper-parameters.
In this example, RxInfer executes exact inference consistently and does not depend on any hyper-parameters.
of the HMC estimator heavily depends on the choice of hyperparameters.
In this example, RxInfer executes exact inference consistently and does not depend on any hyperparameters.

### References

- [RxInfer: A Julia package for reactive real-time Bayesian inference](https://doi.org/10.21105/joss.05161) - a reference paper for the `RxInfer.jl` framwork.
- [Reactive Probabilistic Programming for Scalable Bayesian Inference](https://pure.tue.nl/ws/portalfiles/portal/313860204/20231219_Bagaev_hf.pdf) - a PhD dissertation outlining core ideas and principles behind `RxInfer` ([link2](https://research.tue.nl/nl/publications/reactive-probabilistic-programming-for-scalable-bayesian-inferenc), [link3](https://github.com/bvdmitri/phdthesis)).
- [Variational Message Passing and Local Constraint Manipulation in Factor Graphs](https://doi.org/10.3390/e23070807) - describes theoretical aspects of the underlying Bayesian inference method.
- [Reactive Message Passing for Scalable Bayesian Inference](https://doi.org/10.48550/arXiv.2112.13251) - describes implementation aspects of the Bayesian inference engine and performs benchmarks and accuracy comparison on various models.
- [A Julia package for reactive variational Bayesian inference](https://doi.org/10.1016/j.simpa.2022.100299) - a reference paper for the `ReactiveMP.jl` package, the underlying inference engine.
Expand All @@ -56,6 +57,13 @@ Install RxInfer through the Julia package manager:

Optionally, use `] test RxInfer` to validate the installation by running the test suite.

# Documentation

For more information about `RxInfer.jl` please refer to the [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/).

> [!NOTE]
> `RxInfer.jl` API has been changed in version `3.0.0`. See [Migration Guide](https://reactivebayes.github.io/RxInfer.jl/stable/manuals/migration-guide-v2-v3) for more details.

# Getting Started

There are examples available to get you started in the `examples/` folder. Alternatively, preview the same examples in the [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/examples/overview/).
Expand All @@ -79,7 +87,7 @@ n = 500 # Number of coin flips
p = 0.75 # Bias of a coin

distribution = Bernoulli(p)
dataset = float.(rand(Bernoulli(p), n))
dataset = float.(rand(distribution, n))
```

### Model specification
Expand Down Expand Up @@ -112,40 +120,40 @@ P(y_{1:N}, \theta) = P(\theta) \prod_{i=1}^N P(y_i | \theta).
```

Now let's see how to specify this model using GraphPPL's package syntax.

```julia

# GraphPPL.jl export `@model` macro for model specification
# It accepts a regular Julia function and builds an FFG under the hood
@model function coin_model(n)

# `datavar` creates data 'inputs' in our model
# We will pass data later on to these inputs
# In this example we create a sequence of inputs that accepts Float64
y = datavar(Float64, n)

@model function coin_model(y, a, b)
# We endow θ parameter of our model with some prior
θ ~ Beta(2.0, 7.0)

θ ~ Beta(a, b)
# We assume that outcome of each coin flip
# is governed by the Bernoulli distribution
for i in 1:n
for i in eachindex(y)
y[i] ~ Bernoulli(θ)
end

end
end
```

Alternatively, we could use a broadcasting syntax.
```julia
@model function coin_model(y, a, b)
θ ~ Beta(a, b)
y .~ Bernoulli(θ)
end
```

As you can see, `RxInfer` offers a model specification syntax that resembles closely to the mathematical equations defined above. We use `datavar` function to create "clamped" variables that take specific values at a later date. $\theta \sim \mathrm{Beta}(2.0, 7.0)$ expression creates random variable $θ$ and assigns it as an output of $\mathrm{Beta}$ node in the corresponding FFG.
As you can see, `RxInfer` offers a model specification syntax that resembles closely to the mathematical equations defined above. The $\theta \sim \mathrm{Beta}(2.0, 7.0)$ expression creates random variable $θ$ and assigns it as an output of $\mathrm{Beta}$ node in the corresponding FFG.

> [!NOTE]
> `RxInfer.jl` uses `GraphPPL.jl` for model and constraints specification. `GraphPPL.jl` API has been changed in version `4.0.0`. See [Migration Guide](https://reactivebayes.github.io/GraphPPL.jl/stable/) for more details.

### Inference specification

Once we have defined our model, the next step is to use `RxInfer` API to infer quantities of interests. To do this we can use a generic `infer` function from `RxInfer.jl` that supports static datasets.

```julia
result = infer(
model = coin_model(length(dataset)),
model = coin_model(a = 2.0, b = 7.0),
data = (y = dataset, )
)
```
Expand Down
3,131 changes: 1,076 additions & 2,055 deletions benchmarks/Linear Multivariate Gaussian State Space Model Benchmark.ipynb

Large diffs are not rendered by default.

Loading
Loading