[docs]classGaussianGPController(GPController):""" Base class for implementing standard GP regression with flexible prior kernel and mean functions. This is the best starting point for users, containing many sensible default values. The standard reference is :cite:`Rasmussen06`. :param train_x: (n_samples, n_features) The inputs (or the observed values). :param train_y: (n_samples,) or (n_samples, 1) The responsive values. :param kernel_class: An uninstantiated subclass of :class:`gpytorch.kernels.Kernel`. :param y_std: The observation noise standard deviation, one of: * :class:`~numpy.ndarray` (n_samples,): known heteroskedastic noise. * :class:`float`: known homoskedastic noise assumed. :param mean_class: An uninstantiated subclass of :class:`gpytorch.means.Mean` to use in the prior GP. Defaults to :class:`gpytorch.means.ConstantMean`. :param likelihood_class: An uninstantiated subclass of :class:`gpytorch.likelihoods.Likelihood`. The default is :class:`gpytorch.likelihoods.FixedNoiseGaussianLikelihood`. :param marginal_log_likelihood_class: An uninstantiated subclass of of an MLL from :mod:`gpytorch.mlls`. The default is :class:`gpytorch.mlls.ExactMarginalLogLikelihood`. :param optimiser_class: An uninstantiated :class:`torch.optim.Optimizer` class used for gradient-based learning of hyperparameters. The default is :class:`torch.optim.Adam`. :param smart_optimiser_class: An uninstantiated :class:`~vanguard.optimise.optimiser.SmartOptimiser` class used to wrap the ``optimiser_class`` and enable early stopping. :param rng: Generator instance used to generate random numbers. :param kwargs: For a complete list, see :class:`~vanguard.base.gpcontroller.GPController`. """