-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify Inputs API for regular, stabilized, and non-stabilized PT #291
Comments
I ran into another API edge case that I think could be clarified, or made into an error: Inputs(
n_chains=N, # where N>0
n_chains_variational=M, # where M > 0
variational=nothing, # or left default
) Sets up two fixed legs, and names one of them |
Yeah, I also ran into difficulties in understanding the variational/fixed API when I first used Pigeons as well. At a minimum, the fact that the @miguelbiron @alexandrebouchard could we not just rename If we don't want to allow arbitrary star topologies right now, we can limit the list length to 2. Or we can say "integer/distribution or 2-tuple of integers/distributions" Thoughts? |
I agree that that's a super confusing API. I like Trevor's idea of allowing to supply an integer or a 2-tuple for the number of chains and cleaning it up. |
Based on discussion in #290 (comment)_
I would suggest that the API be adjusted a bit.
I had previously misunderstood how to control if regular PT, stabilized PT, and non-stabilized PT are used.
Here is the current API usage for Inputs:
Regular PT:
n_chains=8, n_chains_variational=0, variational=nothing
Stabilized Variational PT:
n_chains=8, n_chains_variational=8, variational=GaussianReference....
Non-stabilized variational PT:
n_chains=8, n_chains_variational=0, variational=GaussianReference....
Here is how I thought it worked:
Regular PT:
n_chains=8, n_chains_variational=0, variational=Anythong
(ie. variational argument was ignored if n_chains_variational=0,)Stabilized Variational PT:
n_chains=8, n_chains_variational=8, variational=GaussianReference....
Non-stabilized variational PT:
n_chains=0, n_chains_variational=8, variational=GaussianReference....
Another factor that lead to my confusion is that in Non-stabilized variational PT, the sampler output table shows the column
Λ
instead ofΛ_var
. IMO this last point could be considered a bug?In fact, I think I have at times been using non-stabilized variational PT when I thought I was using regular PT (with no variational chains).
Thanks all!
The text was updated successfully, but these errors were encountered: