Gpytorch: test_latent_multitask_gp_mean_abs_error

Created on 18 Jul 2017  路  2Comments  路  Source: cornellius-gp/gpytorch

I run python -m pytest one failure occurs.

def test_latent_multitask_gp_mean_abs_error():
        prior_observation_model = LatentMultitaskGPModel(num_task_samples=3)

        # Compute posterior distribution
        infer = Inference(prior_observation_model)
        posterior_observation_model = infer.run(
            (torch.cat([train_x, train_x, train_x]), torch.cat([y11_inds, y12_inds, y2_inds])),
            torch.cat([train_y11, train_y12, train_y2]),
>           max_inference_steps=5
        )

test/examples/latent_multitask_gp_regression_test.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
gpytorch/inference/inference.py:79: in run
    new_observation_model = self.run_(train_x, train_y, optimize=optimize, **kwargs)
gpytorch/inference/inference.py:65: in run_
    param_group.update(log_likelihood_closure)
gpytorch/parameters/mle_parameter_group.py:38: in update
    loss = optimizer.step(step_closure)
gpytorch/utils/lbfgs.py:203: in step
    t = self._backtracking(closure, d)
gpytorch/utils/lbfgs.py:305: in _backtracking
    phi_k = closure().data[0]
gpytorch/utils/__init__.py:33: in wrapped_function
    raise e
gpytorch/utils/__init__.py:21: in wrapped_function
    result = function(*args, **kwargs)
gpytorch/parameters/mle_parameter_group.py:34: in step_closure
    loss = -log_likelihood_closure()
gpytorch/inference/inference.py:45: in log_likelihood_closure
    return self.observation_model.marginal_log_likelihood(output, train_y)
gpytorch/inference/posterior_models.py:203: in marginal_log_likelihood
    return gpytorch.exact_gp_marginal_log_likelihood(covar, train_y - mean)
gpytorch/__init__.py:17: in exact_gp_marginal_log_likelihood
    return ExactGPMarginalLogLikelihood()(covar, target)
gpytorch/math/functions/invmv.py:9: in __call__
    res = super(Invmv, self).__call__(matrix_var, vector_var.view(-1, 1))
gpytorch/math/functions/invmm.py:45: in __call__
    has_completed = chol_data_closure()
gpytorch/utils/__init__.py:33: in wrapped_function
    raise e
gpytorch/utils/__init__.py:21: in wrapped_function
    result = function(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    @pd_catcher(catch_function=add_jitter)
    def chol_data_closure():
>       input_1_var.chol_data = input_1_var.data.potrf()
E       RuntimeError: Lapack Error in potrf : the leading minor of order 1 is not positive definite at /Users/soumith/code/builder/wheel/pytorch-src/torch/lib/TH/generic/THTensorLapack.c:608

gpytorch/math/functions/invmm.py:40: RuntimeError

Most helpful comment

We're aware of this problem. This issue comes from using kernel (such as the index kernel) that is not always positive definite under certain parameter settings. @jrg365 and I are working to change some of the underlying math which will hopefully mitigate this problem!

All 2 comments

We're aware of this problem. This issue comes from using kernel (such as the index kernel) that is not always positive definite under certain parameter settings. @jrg365 and I are working to change some of the underlying math which will hopefully mitigate this problem!

We gutted this functionality, so the test no longer exists.

Was this page helpful?
0 / 5 - 0 ratings