Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* initial work on model checking * use record_pre_tilde!, record_post_tilde!, etc. instead of just a single record_tilde! + support for dot tilde + return issuccess and additional info in check_model * added test_context_interface to TestUtils * added tests for check_model * moved debug contexts and check_model to a separate file * export check_model + make DebugContext take the model as input so we can further customize * noticed I forgot to include check_models.jl file * fixed tests * added record-methods for observe statements too * use explicit types for the recorded tilde statements + added convenient show methods to make displaying the trace nicer * renamd check__model to debug_utils and put it into a module * renamed test/check_model.jl to test/debug_utils.jl * removed unnecessary stuff in tests * added test for logging of statements * removed unnecessary splatting in broadcasting + improved errors for encountering missing * added missing implementation of tilde_observe for PrefixContext * re-ordered method implementations for DebugContext to make things a bit more readable * addeed error message indicating that usage of missing for de-conditioning is restricted to univariate distributions * added missing left field to ObserveStmt * fixed conditioned * fixed `fixed` too, and moved the `_merge` to a more sensible location * added check_model_post_evaluation and made it so we're using SamplingContext by default since we're using an empty VarInfo by default * removed show_statements * perform some simple checks to make sure show is working for statements * improved test for show of statements a tiny bit * added some more docs * more docs * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fixed typo in warning * moved inclusion of trace and others in return-value from check_model to check_model_and_extras * formatting * drop returning varnames_seen and renamed check_model_and_extras to check_model_and_trace * drop export of DebugContext * added check_model and check_model_and_trace to docs * updated tests * more updates to tests * formatting * added rng as an optional positional argument to check_model methods * added an example in the docstring of check_model_and_trace * added example of correct and incorrect model in check_model_and_trace docstring * Update src/debug_utils.jl Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fixed docs maybe * fixed docstring maybe * fixed reference to Setfield and tests * fixed docs * added some conveinence methods in addition to a `has_static_constraints` method to empirically check whether the model has static constraints or if they are indeed changing dependent on realizations * improved show for large arrays of varnames whiich can occur in dot-tilde statements --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Loading branch information