https://github.com/GPflow/GPflow
Revision 22edd92d06c201b1f40a656e5bbca84a5f483f2d authored by st-- on 14 February 2020, 14:49:30 UTC, committed by GitHub on 14 February 2020, 14:49:30 UTC
- clean up of the documentation - changes initialization from W=zeros() to W=0.1*ones() which makes it easier to use out of the box - no longer requires manual assigning of symmetry-breaking values to the W matrix after kernel construction - adds output_covariance() method that computes the covariance between outputs (and output_variance() for its diagonal)
1 parent fea9f0c
Tip revision: 22edd92d06c201b1f40a656e5bbca84a5f483f2d authored by st-- on 14 February 2020, 14:49:30 UTC
Improve documentation and behaviour of Coregion kernel (#1255)
Improve documentation and behaviour of Coregion kernel (#1255)
Tip revision: 22edd92
test_utilities.py
import numpy as np
import pytest
import tensorflow_probability as tfp
from gpflow.config import Config, as_context
from gpflow.utilities import positive, triangular
@pytest.mark.parametrize("env_lower, override_lower", [
(0.1, None), # ensure default from config is applied
(None, 0.2), # ensure override is applied
(0.3, 0.4), # ensure local overrides config
])
def test_positive_lower(env_lower, override_lower):
expected_lower = override_lower or env_lower
with as_context(Config(positive_bijector="softplus", positive_minimum=env_lower)):
bijector = positive(lower=override_lower)
assert isinstance(bijector, tfp.bijectors.Chain)
assert np.isclose(bijector.bijectors[0].shift, expected_lower)
@pytest.mark.parametrize("env_bijector, override_bijector, expected_class", [
("softplus", None, tfp.bijectors.Softplus),
("softplus", "Exp", tfp.bijectors.Exp),
("exp", None, tfp.bijectors.Exp),
("exp", "Softplus", tfp.bijectors.Softplus),
])
def test_positive_bijector(env_bijector, override_bijector, expected_class):
with as_context(Config(positive_bijector=env_bijector, positive_minimum=None)):
bijector = positive(base=override_bijector)
assert isinstance(bijector, expected_class)
def test_positive_calculation_order():
value, lower = -10.0, 10.0
expected = np.exp(value) + lower
with as_context(Config(positive_bijector="exp", positive_minimum=lower)):
result = positive()(value).numpy()
assert np.isclose(result, expected)
assert result >= lower
def test_triangular():
assert isinstance(triangular(), tfp.bijectors.FillTriangular)
Computing file changes ...