title: pymc3 multiple gaussian process regression
body: <p>I am trying to run a gaussian process regression with two features by extending the first example in <a href="https://pymc-devs.github.io/pymc3/notebooks/GP-introduction.html" rel="nofollow noreferrer">https://pymc-devs.github.io/pymc3/notebooks/GP-introduction.html</a></p>
  
  <pre><code>n = 20
  X = np.array([list(a) for a in zip(np.sort(3*np.random.rand(n)), np.sort(3*np.random.rand(n)))])
  y = np.random.normal(size=n)
  
  with pm.Model() as model:
      # priors on the covariance function hyperparameters
      l = np.array([pm.Uniform('l1', 0, 10), pm.Uniform('l2', 0, 10)])
  
      # uninformative prior on the function variance
      log_s2_f = pm.Uniform('log_s2_f', lower=-10, upper=5)
      s2_f = pm.Deterministic('s2_f', tt.exp(log_s2_f))
  
      # uninformative prior on the noise variance
      log_s2_n = pm.Uniform('log_s2_n', lower=-10, upper=5)
      s2_n = pm.Deterministic('s2_n', tt.exp(log_s2_n))
  
      # covariance functions for the function f and the noise
      f_cov = s2_f * pm.gp.cov.ExpQuad(input_dim=2, lengthscales=l)
  
      y_obs = pm.gp.GP('y_obs', cov_func=f_cov, sigma=s2_n, observed={'X':X, 'Y':y})
  </code></pre>
  
  <p>Here the inputs of <code>X</code> and <code>y</code> are for testing the shape of the inputs. 
  When I run the code I get a theano <code>AsTensorError</code> error which is traced to this in pymc3</p>
  
  <pre><code>/usr/local/lib/python2.7/site-packages/pymc3/gp/cov.pyc in square_dist(self, X, Z)
      124 
      125     def square_dist(self, X, Z):
  --&gt; 126         X = tt.mul(X, 1.0 / self.lengthscales)
      127         Xs = tt.sum(tt.square(X), 1)
      128         if Z is None:
  </code></pre>
  
  <p>Is it possible to run multiple gaussian regression in pymc3? If so I am sure I have messed up with the dimensions somewhere.</p>