Either "too many indices for array" or "array must not contain infs or NaNs" error with a GP

Gist:

import numpy as np
import pymc3 as pm

x = np.linspace(0, 40, num=150)
y = np.sin(x)
# x = x[:, None]
# y = y[:, None]

with pm.Model():
    p = pm.Normal("p", mu=0, sd=10)
    l = pm.Gamma("l", alpha=4, beta=3)
    a = pm.gp.cov.Periodic(1, p, l)
    b = pm.gp.Marginal(cov_func=a)
    s = pm.HalfNormal("s", sd=10, testval=5)
    b.marginal_likelihood(
        "y", X=x, y=y, noise=s, shape=1)

Error:

Traceback (most recent call last):
  File "<...>/test2.py", line 16, in <module>
    "y", X=x, y=y, noise=s, shape=1)
  File "<...>/pymc3/gp/gp.py", line 419, in marginal_likelihood
  File "<...>/pymc3/gp/gp.py", line 380, in _build_marginal_likelihood
  File "<...>/pymc3/gp/cov.py", line 61, in __call__
  File "<...>/pymc3/gp/cov.py", line 291, in full
  File "<...>/pymc3/gp/cov.py", line 70, in _slice
IndexError: too many indices for array

Error with lines un-commented:

Traceback (most recent call last):
  File "<...>/test2.py", line 16, in <module>
    "y", X=x, y=y, noise=s, shape=1)
  File "<...>/pymc3/gp/gp.py", line 424, in marginal_likelihood
  File "<...>/pymc3/distributions/distribution.py", line 41, in __new__
  File "<...>/pymc3/distributions/distribution.py", line 52, in dist
  File "<...>/pymc3/distributions/multivariate.py", line 225, in __init__
  File "<...>/pymc3/distributions/multivariate.py", line 61, in __init__
  File "<...>/theano/gof/op.py", line 674, in __call__
    required = thunk()
  File "<...>/theano/gof/op.py", line 892, in rval
    r = p(n, [x[0] for x in i], o)
  File "<...>/theano/tensor/slinalg.py", line 76, in perform
    z[0] = scipy.linalg.cholesky(x, lower=self.lower).astype(x.dtype)
  File "<...>/scipy/linalg/decomp_cholesky.py", line 91, in cholesky
    check_finite=check_finite)
  File "<...>/scipy/linalg/decomp_cholesky.py", line 19, in _cholesky
    a1 = asarray_chkfinite(a) if check_finite else asarray(a)
  File "<...>/numpy/lib/function_base.py", line 498, in asarray_chkfinite
    "array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs
1 Like