Skip to content

InvalidArgumentError: Input matrix is not invertible. #39

@JSP21

Description

@JSP21

Hi all,
I'm facing the foll. issue while executing Deep Gaussian Process SVI for a two-layer model.

I have tried adding jitter, centered the input data, tried various hyperparameter specifications, upgrading gpflow version, but couldn't resolve the error.

Any pointers, please! Thank you!

InvalidArgumentError (see above for traceback): Input matrix is not invertible.
[[Node: gradients/DGP-2c82c62a-25/conditional/base_conditional/Cholesky_grad/MatrixTriangularSolve = MatrixTriangularSolve[T=DT_FLOAT, adjoint=false, lower=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](DGP-2c82c62a-25/conditional/base_conditional/Cholesky, gradients/DGP-2c82c62a-25/conditional/base_conditional/Cholesky_grad/eye/MatrixDiag)]]

The full error trace is as follows:

File "/home/jaya/jayashree/cdgp_experiments/wconv_rbf.py", line 112, in
m_dgp2 = make_dgp(2)
File "/home/jaya/jayashree/cdgp_experiments/wconv_rbf.py", line 103, in make_dgp
num_outputs=num_classes)
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/core/compilable.py", line 90, in init
self.build()
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/core/node.py", line 156, in build
self._build()
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/models/model.py", line 81, in _build
likelihood = self._build_likelihood()
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
result = method(obj, *args, **kwargs)
File "/home/jaya/jayashree/cdgp_experiments/dgp.py", line 106, in _build_likelihood
L = tf.reduce_sum(self.E_log_p_Y(self.X, self.Y))
File "/home/jaya/jayashree/cdgp_experiments/dgp.py", line 95, in E_log_p_Y
Fmean, Fvar = self._build_predict(X, full_cov=False, S=self.num_samples)
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
result = method(obj, *args, **kwargs)
File "/home/jaya/jayashree/cdgp_experiments/dgp.py", line 87, in _build_predict
Fs, Fmeans, Fvars = self.propagate(X, full_cov=full_cov, S=S)
File "/home/jaya/.local/lib/python3.5/site-packages/gpflow/decors.py", line 67, in tensor_mode_wrapper
result = method(obj, *args, **kwargs)
File "/home/jaya/jayashree/cdgp_experiments/dgp.py", line 76, in propagate
F, Fmean, Fvar = layer.sample_from_conditional(F, z=z, full_cov=full_cov)
File "/home/jaya/jayashree/cdgp_experiments/layers.py", line 111, in sample_from_conditional
mean, var = self.conditional(X, full_cov=full_cov)
File "/home/jaya/jayashree/cdgp_experiments/layers.py", line 96, in conditional
mean, var = single_sample_conditional(X_flat)
File "/home/jaya/jayashree/cdgp_experiments/layers.py", line 84, in single_sample_conditional
full_cov=full_cov, white=True)

InvalidArgumentError (see above for traceback): Input matrix is not invertible.
[[Node: gradients/DGP-2c82c62a-25/conditional/base_conditional/Cholesky_grad/MatrixTriangularSolve = MatrixTriangularSolve[T=DT_FLOAT, adjoint=false, lower=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](DGP-2c82c62a-25/conditional/base_conditional/Cholesky, gradients/DGP-2c82c62a-25/conditional/base_conditional/Cholesky_grad/eye/MatrixDiag)]]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions