-
Notifications
You must be signed in to change notification settings - Fork 228
Open
Labels
Description
- "Why is my model slow?" Ref: Better performance guidelines and support for user #2414
- "I changed one line of my model and now it's so much slower; why?" Ref: Better performance guidelines and support for user #2414 + how to investigate type-instabilities.
- "Which automatic differentiation backend should I use?" Ref: Better performance guidelines and support for user #2414 and specifically Automate choice of AD backend #2417
- "Why is this variable being treated as random instead of observed?" This is a question we get a lot. It's usually because it's not clear to the user that one can only manipulate expressions that explicitly occurs on the LHS of a
~
, e.g.x ~ filldist(Normal(), 2)
is in the model, but then they try do tocondition(model, @varname(x[2]) => 1.0)
or something. - "How do I implement a sampler for a Turing.jl model?" This should just reference a tutorial exactly on this.
- "Can I use parallelism / threads in my model?" Yes, but we should point the user explicitly to where this is demonstrated and what to be aware of.
- How do I check the type stability of my Turing model?
- How do I debug (statistically / syntactically) my Turing model? (DynamicPPL.DebugUtils).
- What are the main differences between Turing vs BUGS vs Stan syntax? There are many aspects, but one crucial point is the tools and ecosystem available to Julia for profiling and debugging Turing models. Also, using distributed and parallel computing inside Turing models is much easier.
More?