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
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.
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!