Getting the sampler used by pymc

Is there a way to get the sampler that pymc is using or did use in generating some samples?

Opher

The step or steps is stated once pm.sample() is called:

Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (2 chains in 2 jobs)
NUTS: [sigma_alpha, sigma_beta, alpha, beta, sd]

If a compound step is used, then you get something like this:

Multiprocess sampling (4 chains in 4 jobs)
CompoundStep
>NUTS: [p]
>BinaryGibbsMetropolis: [ni]

I don’t see any of this. I just see the sampling (picture from colab). Is there some flag that lets me manipulate the wordiness of the sampling? I tried messing with the logger, but didn’t get anything.

In notebook environments, output is often filtered for convenience, so you aren’t seeing everything that pymc is producing. You can try to mess with the settings in your notebook environment or you can move to the console.

No idea about colab configuration, but here is what I see in ipython:

In [1]: import pymc as pm
In [2]: with pm.Model() as model:
   ...:     theta = pm.Beta("theta", alpha=2, beta=2)
   ...:     y_obs = pm.Binomial("y_obs", p=theta, n=[2,10], observed = [1,5])
   ...:     idata = pm.sample()
   ...: 
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (2 chains in 2 jobs)
NUTS: [theta]
Sampling 2 chains for 1_000 tune and 1_000 draw iterations (2_000 + 2_000 draws total) took 3 seconds.

In [3]: