april-tools / cirkit

a python framework to build, learn and reason about probabilistic circuits and tensor networks
https://cirkit-docs.readthedocs.io/en/latest/
GNU General Public License v3.0
80 stars 4 forks source link

Add implementation of Gaussians and their products #234

Closed loreloc closed 4 months ago

loreloc commented 4 months ago

Currently there are unit tests of products of two and three PCs over Gaussians verifying the correctness of the output and partition function computation.

This has been implemented by having symbolic and compiled Gaussians that can possibly be unnormalized via the specification of a log_partition parameter.

The notebook moons has been updated as to use the new pipeline apis.

Closes #210 #233 #185

codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 85.83333% with 34 lines in your changes missing coverage. Please review.

Project coverage is 77.08%. Comparing base (01a0e24) to head (c38021e).

Files Patch % Lines
cirkit/symbolic/layers.py 66.66% 6 Missing and 4 partials :warning:
cirkit/symbolic/operators.py 68.75% 6 Missing and 4 partials :warning:
cirkit/backend/torch/layers/input/ef.py 76.92% 5 Missing and 4 partials :warning:
cirkit/symbolic/registry.py 33.33% 4 Missing :warning:
cirkit/backend/torch/parameters/parameter.py 50.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #234 +/- ## ========================================== + Coverage 75.58% 77.08% +1.49% ========================================== Files 44 44 Lines 2937 3137 +200 Branches 386 413 +27 ========================================== + Hits 2220 2418 +198 + Misses 635 627 -8 - Partials 82 92 +10 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.