def test_Deterministic(): """Tests Deterministic distribution""" # Create the distribution dist = pfd.Deterministic() # Check default params assert dist.loc == 0 # Call should return backend obj assert isinstance(dist(), tfd.Deterministic) # Test methods assert dist.prob(0).numpy() == 1.0 assert dist.prob(1).numpy() == 0.0 assert dist.log_prob(0).numpy() == 0.0 assert dist.log_prob(1).numpy() == -np.inf assert dist.mean().numpy() == 0.0 assert dist.mode().numpy() == 0.0 assert dist.cdf(-1).numpy() == 0.0 assert dist.cdf(1).numpy() == 1.0 # Test sampling samples = dist.sample() assert isinstance(samples, tf.Tensor) assert samples.ndim == 0 samples = dist.sample(10) assert isinstance(samples, tf.Tensor) assert samples.ndim == 1 assert samples.shape[0] == 10 samples = dist.sample(tf.constant([10])) assert isinstance(samples, tf.Tensor) assert samples.ndim == 1 assert samples.shape[0] == 10 # Should be able to set params dist = pfd.Deterministic(loc=3) assert dist.loc == 3 # But only with Tensor-like objs with pytest.raises(TypeError): dist = pfd.Deterministic(loc='lalala') # Test using a parameter as an argument p = pf.Parameter() dist = pfd.Deterministic(loc=p) dist.sample()
def __init__(self, d, k): self.m = pf.Parameter([d, k]) self.s = pf.ScaleParameter([d, k]) self.w = pf.DirichletParameter(k)
def __init__(self, dims): self.w = pf.Parameter([dims, 2]) self.b = pf.Parameter(2)
def __init__(self): self.mu = pf.Parameter(name='mu') self.sig = pf.ScaleParameter(name='sig')
def __init__(self, d_in, d_out): self.w = pf.Parameter([d_in, d_out]) self.b = pf.Parameter([1, d_out])
def __init__(self): self.mu = pf.Parameter(name="mu") self.sig = pf.ScaleParameter(name="sig")
def __init__(self): self.weight = pf.Parameter(name="Weight") self.bias = pf.Parameter(name="Bias") self.std = pf.ScaleParameter(name="Noise Std Dev", prior=pf.Gamma(1.0, 1.0))
def __init__(self): self.weight = pf.Parameter(name="Weight") self.bias = pf.Parameter(name="Bias") self.std = pf.ScaleParameter(name="Noise Std Dev")
def __init__(self): self.weight = pf.Parameter(name='Weight') self.bias = pf.Parameter(name='Bias') self.std = pf.ScaleParameter(name='Noise Std Dev')
def __init__(self, d, q): self.W = pf.Parameter(shape=[d, q]) self.sigma = pf.ScaleParameter()
def __init__(self, dims): self.w = pf.Parameter([dims, 1]) self.b = pf.Parameter() self.s = pf.ScaleParameter()
def __init__(self): self.w = pf.Parameter() self.b = pf.Parameter() self.s = pf.ScaleParameter()
def __init__(self): self.weight = pf.Parameter(name='Weight') self.bias = pf.Parameter(name='Bias') self.std = pf.ScaleParameter(name='Noise Std Dev', prior=pf.Gamma(1., 1.))