pyro-ppl / pyro-ppl/pyro

Cholesky error in GaussianHMM, _sequential_gaussian_tensordot()

Open
#2,017 6 comments 2 reactions 2 assignees View on GitHub

@fehiepsi is already working on this.

Since Aug 16, 2019.

bug
Dominant language
Python
Stars
9.1k
Forks
1k
Avg merge
1d 13h
Merged PRs (30d)
5

Description

I'm seeing cholesky errors in _sequential_gaussian_tensordot() when computing GaussianHMM.log_prob(), including precision matrices with very negative eigenvalues. I'd like to figure out how to numerically stabilize gaussian_tensordot().

One issue that makes this difficult to debug is that torch.eig() often segfaults due to a ref count bug https://github.com/pytorch/pytorch/issues/24450

To reproduce

import torch
from pyro.distributions.hmm import _sequential_gaussian_tensordot
gaussian = torch.load("gaussian.pkl")  # file is attached to this issue
_sequential_gaussian_tensordot(gaussian)

gaussian.pkl.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.