def test_empirical_from_trace(another_simple_model):
    with another_simple_model:
        step = pm.Metropolis()
        trace = pm.sample(100, step=step, chains=1, tune=0)
        emp = Empirical(trace)
        assert emp.histogram.shape[0].eval() == 100
        trace = pm.sample(100, step=step, chains=4, tune=0)
        emp = Empirical(trace)
        assert emp.histogram.shape[0].eval() == 400
Exemplo n.º 2
0
 def __init__(self, n_particles=100, jitter=1, model=None, start=None,
              random_seed=None, estimator=KSD, kernel=test_functions.rbf, **kwargs):
     if kwargs.get('local_rv') is not None:
         raise opvi.AEVBInferenceError('SVGD does not support local groups')
     empirical = Empirical(
         size=n_particles, jitter=jitter,
         start=start, model=model, random_seed=random_seed)
     super().__init__(approx=empirical, estimator=estimator, kernel=kernel, **kwargs)