Conversation
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Default and custom leaf contexts must not require a value accumulator when the model has no latent inputs. Retain errors for absent latents. Assisted-by: Codex <codex@openai.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1500 +/- ##
==========================================
+ Coverage 84.09% 84.34% +0.25%
==========================================
Files 54 53 -1
Lines 4741 4638 -103
==========================================
- Hits 3987 3912 -75
+ Misses 754 726 -28 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
DynamicPPL.jl documentation for PR #1500 is available at: |
Docs previews, navbar updates, and preview cleanup share one branch. Queue their runs together to prevent rejected pushes without dropping pending previews for other pull requests. Assisted-by: Codex <codex@openai.com>
Benchmarks @ 5e60233Performance Ratio: gradient time divided by log-density time. For very small models these ratios are noisy across runs and machines; raw primal and gradient timings are more reliable. The benchmarks are aimed at DynamicPPL developers and mainly catch obvious allocation or type-stability regressions. See benchmark notes for details. Main @ 13dd27fEnvironmentJulia Version 1.13.1 Commit 96ca370cf0e (2026-09-25 19:34 UTC) Build Info: Official https://julialang.org release Platform Info: OS: Linux (x86_64-linux-gnu) CPU: 4 × INTEL(R) XEON(R) PLATINUM 8573C WORD_SIZE: 64 LLVM: libLLVM-20.1.8 (ORCJIT, emeraldrapids) GC: Built with stock GC Threads: 1 default, 1 interactive, 1 GC (on 4 virtual cores) |
sunxd3
left a comment
There was a problem hiding this comment.
thanks for this. in general, the PR looks right to me. I think the only sampler in Turing still uses varinfo's value is EMCEE, which should be an easy migration.
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
|
Thanks, Xianda. Both addressed on |
|
thanks!
makes sense, I notices the removal of partial links, but didn't connect to this. |
|
|
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Claude Code <noreply@anthropic.com>
Assisted-by: Claude Code <noreply@anthropic.com>
Assisted-by: Codex <codex@openai.com>
For `loopm(1000)`, warmed `VarInfo(Xoshiro(1), model)` on Julia 1.13.0: 204.7 us / 12,017 allocations before; 20.2 us / 2,018 after. Times are minima of 100 `@elapsed` calls; counts use `@allocations`. Julia 1.10.12 after: 35.1 us / 2,010 allocations. Single-accumulator mapping and setting allocate zero when warmed; leave those paths unchanged. `VarInfo` and `init!!` inference checks and both varinfo and accumulator suites pass on Julia 1.13.0 and 1.10.12. Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
Assisted-by: Codex <codex@openai.com>
The observation method matched only `VNTAccumulator`, so the `TSVNTAccumulator` used during threadsafe evaluation fell through to the no-op fallback and pointwise log-likelihoods came back empty. This also affected `setthreadsafe` models on main. Assisted-by: Claude Code <noreply@anthropic.com>
Assisted-by: Claude Code <noreply@anthropic.com>
Assisted-by: Claude Code <noreply@anthropic.com>
Assisted-by: Claude Code <noreply@anthropic.com>
This replaces the value-owning
VarInfowith an accumulator collection and removes the separateOnlyAccsVarInfoname.VarInfo()collects log densities without recording parameters. For example,VarInfo(VectorValueAccumulator())opts into recording parameter values during evaluation; retrieve them withget_vector_values(vi)instead ofvi.values. TheVarInfo(rng, model)convenience constructor continues to collect both parameters and densities. This changes the public storage API.Closes #1376.