Hi, I am trying to optimize a high-dimensional Gaussian surrogate model with pyro, I think there are two main methods:

- In the tutorial tell how to use the GP interface in Pyro
- Use the surrogate model trained in machine learning (sklearn.gaussian_process) , then use SVI to reduce the gap between the output of the surrogate model and the experimental results to get the optimal value of the input parameters

(There are three input parameters and four hundred output values, and in the surrogate model, the training data is 130*3 input, 130*400 out put. After the surrogate model training is completed, 400 real experimental values need to be compared)

When I tried my first method, I found that it seems impossible to achieve high dimensionality, below is my code:

```
X = torch.tensor(X, dtype=torch.float) #which is 130*3
Y = torch.tensor(Y, dtype=torch.float) #which is 130*400
kernel = gp.kernels.RBF(input_dim=3, variance=torch.tensor(1.), lengthscale=torch.tensor(10.))
gpr = gp.models.GPRegression(X, Y, kernel)
```

ValueError: Expected the number of input data points equal to the number of output data points, but got 130 and 400.

I havenâ€™t solved my problem yet, so ask for help, thanks in advance.