-
Hi all, I've been toying around with Blackjax for a bit and I'm loving the experience. Boy are things fast :-) Now that I've built up some experience with the existing samplers, I'm working on creating some extensions of these samplers for my specific needs. For instance, I've used the suggestions in #275 to construct a Gibbs kernel that combines elliptical slice sampling and RMH for a Gaussian process + its hyperparameters. This works very well, but now that I want to move on from ad-hoc fixes and a bit more clean design, I run into two (closely related) issues:
Am I missing an obvious way of importing these objects? Thanks for your input :-) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 18 replies
-
Hey,
This means that you don't have to subclass If that answer is not enough, please share a simple example and we'll walk through it together. |
Beta Was this translation helpful? Give feedback.
-
By the way, have you considered using this instead of ESS? It's been proven to work better on a number of applications. We have an implementation in BlackJAX. See here for example |
Beta Was this translation helpful? Give feedback.
Hey,
generate_gaussian_noise
is imported in a couple places in the lirbary usingfrom blackjax.util import generate_gaussian_noise
.from blackjax.smc.base import kernel
(here in the code). This constructor requires two functions:mcmc_kernel_factory
(you can see what this corresponds to here), which is just a function that returns a sampling step function given alogprob
function.mcmc_kernel_generator
, which given a position in the sample space returns the state that your sampling step function takes as an input. This is important for HMC, for instance: SMC takes positions as …