Repository navigation
Conversation
|
merged main into this PR. @jobrachem, could we discuss the design soonish? I'd like to adjust the other kernels and then merge this. |
|
Hey @wiep, the implementation looks solid and straight-forward to use. I have some general thoughts:
eb.add_kernel(kernel, log_prob_kwargs={"log_prob_node_name": "my_subset_logp"})What do you think? |
|
to clarify, you would recommend leaving the kernels unchanged but basically giving them a different model interface. this model interface will be created by the engine builder and for the kernel it is transparent and it would not know that it operates on a different model than other kernels? in general that sounds like a solid idea. However, we need to consider:
thinking about the MCMCSpec it would basically require us to create a new dictionary of kwargs that are passed to the I like that we would not need to touch the kernels at all and just give them a model interface with a different log_prob method. But is MCMCSpec then too complicated? |
Yes, that is one of two ways that I see for going through the interfaces. The other one would be to provide the possibility of using the same interface in all kernels, but allow different kernels to pass different keyword arguments to the
I suppose that would indeed need some thought.
That could be it.
I guess it is a question of tradeoffs. The code itself wouldn't be too bad I think. What's your intuition? |
|
i think it would be great to keep the kernels simple and not add additional complexity that needs to be repeated for every kernel implementation. |
|
I agree |
Draft. Currently, only HMC has the new feature implemented.
todos
notes from using this already in a project: