Hello everyone

I’m trying the forum out! I’ve been enjoying using PyMC but have run into an issue which I haven’t been able to resolve.

The following code minimally replicates my error:

```
from itertools import product
# columns are times, rows are wavelengths, entries are intensities
intensity_data = np.arange(10).reshape(2, 5)
y = intensity_data.ravel()
image_wavelengths = [700, 800] # / nm
timestep_range = [0, 1, 2, 3, 4]
wavelengths, steps = np.meshgrid(image_wavelengths, timestep_range)
x = np.asarray(list(product(timestep_range, image_wavelengths)))
with pm.Model() as model:
# Specify the covariance function.
size = pm.HalfCauchy('size', 1)
length = pm.Gamma('length', 2, 0.5)
cov_func = size ** 2 * pm.gp.cov.ExpQuad(2, ls=length)
# Specify the GP. The default mean function is `Zero`.
gp = pm.gp.MarginalApprox(cov_func=cov_func, approx='FITC')
Xu = pm.gp.util.kmeans_inducing_points(len(x) // 2, x)
sigma = pm.Exponential('sigma', 1)
likelihood = gp.marginal_likelihood('likelihood', X=x, Xu=Xu, y=y, noise=sigma)
```

And the error (upon running something like pm.find_MAP() or pm.sample()) is:

```
ValueError: Random variables detected in the logp graph: [size, length].
This can happen when DensityDist logp or Interval transform functions reference nonlocal variables.
```

Inference appears to be performed correctly when the covariance function is specified with constant values however this is not really what I need. Any ideas or suggestions would be really appreciated.

Cheers