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
Exemple #2
0
 def __init__(self,
              n_particles=100,
              jitter=.01,
              model=None,
              kernel=test_functions.rbf,
              temperature=1,
              scale_cost_to_minibatch=False,
              start=None,
              histogram=None,
              random_seed=None,
              local_rv=None):
     if histogram is None:
         histogram = Empirical.from_noise(
             n_particles,
             jitter=jitter,
             scale_cost_to_minibatch=scale_cost_to_minibatch,
             start=start,
             model=model,
             local_rv=local_rv,
             random_seed=random_seed)
     super(SVGD, self).__init__(KSD,
                                histogram,
                                kernel,
                                op_kwargs=dict(temperature=temperature),
                                model=model,
                                random_seed=random_seed)
Exemple #3
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)
Exemple #4
0
 def __init__(self, n_particles=100, jitter=.01, model=None, kernel=test_functions.rbf,
              start=None, histogram=None, seed=None, local_rv=None):
     if histogram is None:
         histogram = Empirical.from_noise(
             n_particles, jitter=jitter, start=start, model=model, local_rv=local_rv, seed=seed)
     super(SVGD, self).__init__(
         KSD, histogram,
         kernel,
         model=model, seed=seed)
Exemple #5
0
 def __init__(self, n_particles=100, jitter=.01, model=None, kernel=test_functions.rbf,
              temperature=1, scale_cost_to_minibatch=False, start=None,
              random_seed=None, local_rv=None):
     empirical = Empirical.from_noise(
         n_particles, jitter=jitter,
         scale_cost_to_minibatch=scale_cost_to_minibatch,
         start=start, model=model, local_rv=local_rv, random_seed=random_seed)
     super(SVGD, self).__init__(
         KSD, empirical,
         kernel, op_kwargs=dict(temperature=temperature),
         model=model, random_seed=random_seed)