David Widmann
David Widmann
Probably @torfjelde knows best why the current design was chosen, what could be simplified, and which changes are problematic.
Error messages are much easier to parse if you use regular sampling (it also rules out multithreading related issues). Additionally, the example requires additional undefined variables and dependencies. A MWE...
~~The problem is https://github.com/TuringLang/DynamicPPL.jl/blob/f2eb6357d3d52efbc8457fca08806c73da3acc09/src/compiler.jl#L473-L475, which ends up in the model function in this case as~~ ```julia (DynamicPPL.unwrap_right_left_vns)((DynamicPPL.check_tilde_rhs)(Normal(μ, 1)), x, var"##vn#436")... ``` ~~before `x` is sampled. The undotted version works (and...
Ah forget my last comment, we're in the `!isassumption` branch, of course.
The problem is https://github.com/TuringLang/DynamicPPL.jl/blob/f2eb6357d3d52efbc8457fca08806c73da3acc09/src/compiler.jl#L450: There the value of `x` is unpacked correctly on the RHS but, of course, it can't be assigned to a non-existing variable `x` in-place. Changing `.=`...
I think there are (at least) two points here: - Implementing DynamicPPL-specific functionality with VarInfo and in particular VarName seems useful since it is the most direct way for getting...
> Yes, this is a hack. I've tried with a Bernoulli, but somehow I could not because of name clashes with `Distributions`, `DistributionsAD` and `Turing`, which all are re-exported in...
Is a new struct needed? Could you just use `Distributions.Bernoulli`? Or the link functions in GLM?
Yeah but why can't you use the type `Distributions.Bernoulli` instead of an instance of it? That's more natural as @ParadaCarleton also said above.
https://github.com/TuringLang/EllipticalSliceSampling.jl and in particular the video in the README are helpful I hope 😉