-
Notifications
You must be signed in to change notification settings - Fork 41
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
AbstractMCMC.step
interface broken
#350
Comments
Just remembered TuringLang/AbstractMCMC.jl#124. I still think this should be fixed in AdvancedHMC rather than AbstractMCMC - we can't add all downstream options to AbstractMCMC and it means that custom implementations based on |
@devmotion @torfjelde @JaimeRZP do we have a default mechanism for users to pass |
TuringLang/AbstractMCMC.jl#117 will allow samplers to specify behaviour of warm-up steps. AdvancedHMC would specialize |
I'll re-open because I think it would be better for interoperability with other packages to avoid "magic" keyword arguments. |
#332 broke the
AbstractMCMC.step
interface: It's not possible anymore to initialize the sampler, obtain the initial state, and then continue sampling withAbstractMCMC.step
.The problem is
AdvancedHMC.jl/src/abstractmcmc.jl
Line 161 in 04ce92a
It assumes that
nadapts
is provided as a keyword argument to thestep
function by the user. This is not part of the AbstractMCMC.step interface requirements. If AdvancedHMC wants to use such a keyword argument in the function body it should be possible to omit it and have a default value. I think that's still a bad idea though since then users/developers have to know about how AdvancedHMC internally (ab)uses keyword arguments to be able to pass around this information in the same way. IMO it would be better to put this into the state of the sampler if it's not intended to be fixed a priori when constructing the sampler.The text was updated successfully, but these errors were encountered: