def model(data, params): # XXX: this model currenty NaNs # initialize data G = data["G"] N = data["N"] r = data["r"] n = data["n"] # model block with pyro.plate('a_', G, dim=-2): mu = pyro.sample('mu', dist.Uniform(0., 1.)) a_plus_b = pyro.sample('a_plus_b', dist.Pareto(0.1, 1.5)) a = mu * a_plus_b b = (1 - mu) * a_plus_b with pyro.plate('data', N, dim=-1): p = pyro.sample('p', dist.Beta(a, b)) r = pyro.sample('r', dist.Binomial(n, p), obs=r)
def get_collisionMinGapFactor(self): if self.is_using: return min(2, max(1, distrs.Pareto(1, 2)().item())) - 1 return 0
def get_minGap(self): if self.is_using: return min(2, max(1, distrs.Pareto(1, 1)().item())) - 1 return 0
def Pareto(_name, scale, alpha): return {'x': pyro.sample(_name, dist.Pareto(scale, alpha))}