https://mooseframework.inl.gov
GaussianProcessTrainer.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "SurrogateTrainer.h"
13 #include "Standardizer.h"
14 #include <Eigen/Dense>
15 
16 #include "Distribution.h"
17 
18 #include "CovarianceFunctionBase.h"
19 #include "CovarianceInterface.h"
20 
21 #include "GaussianProcess.h"
22 
24 {
25 public:
28  virtual void preTrain() override;
29  virtual void train() override;
30  virtual void postTrain() override;
31 
33  const StochasticTools::GaussianProcess & gp() const { return _gp; }
34 
35 private:
37  const std::vector<Real> & _predictor_row;
38 
41 
43  std::vector<std::vector<Real>> _params_buffer;
44 
46  std::vector<std::vector<Real>> _data_buffer;
47 
50 
53 
56 
59 
61  bool _do_tuning;
62 
65 
67  const std::vector<Real> & _sampler_row;
68 };
const StochasticTools::GaussianProcess::GPOptimizerOptions _optimization_opts
Struct holding parameters necessary for parameter tuning.
const std::vector< Real > & _sampler_row
Data from the current sampler row.
virtual void train() override
const StochasticTools::GaussianProcess & gp() const
RealEigenMatrix & _training_params
Paramaters (x) used for training, along with statistics.
bool _do_tuning
Flag to toggle hyperparameter tuning/optimization.
Structure containing the optimization options for hyperparameter-tuning.
virtual void postTrain() override
StochasticTools::GaussianProcess & gp()
GaussianProcessTrainer(const InputParameters &parameters)
static InputParameters validParams()
const std::vector< Real > & _predictor_row
Data from the current predictor row.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
virtual void preTrain() override
This is the main trainer base class.
bool _standardize_data
Switch for training data(y) standardization.
std::vector< std::vector< Real > > _data_buffer
Data (y) used for training.
RealEigenMatrix _training_data
Data (y) used for training.
const InputParameters & parameters() const
StochasticTools::GaussianProcess & _gp
Gaussian process handler responsible for managing training related tasks.
Utility class dedicated to hold structures and functions commont to Gaussian Processes.
std::vector< std::vector< Real > > _params_buffer
Parameters (x) used for training – we&#39;ll allgather these in postTrain().
bool _standardize_params
Switch for training param (x) standardization.