Because I need to train my GP on a large number of points, I would like to not only save the optimized hyperparameters
ker = GPy.kern.Matern32(nc, ARD=True)
m = GPy.models.GPRegression(xTrain, np.reshape(yTrain, (-1, 1)), ker, noise_var=1e-8)
m.Mat32.lengthscale.constrain_bounded(0.01, 5e0)
m.Mat32.variance.constrain_bounded(1e-4, 1e+10)
m.Gaussian_noise.variance.constrain_fixed(1e-8)
m.optimize_restarts(messages=True, num_restarts=1, max_f_eval=10000)
np.save(f, m.param_array)
yPrd, yVar = m.predict_noiseless(xTest)
yStd = np.sqrt(yVar)
yPred = np.squeeze(yPrd)
But also save the multiplication of the Gram matrix by the observed values K(s,s)^{-1} f in
mean of posterior = K(s^*,s)K(s,s)^{-1} f
And thus load the chunk K(s,s)^{-1} f and perform only ONE multiplication with the corresponding test points K(s^*,s). How can I access/output these matrices/save them?