-
Notifications
You must be signed in to change notification settings - Fork 48
Description
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)]]