https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ActiveLearningGaussianProcess.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#ifdef MOOSE_LIBTORCH_ENABLED
10
11#pragma once
12
13#include "Standardizer.h"
14#include "LibtorchUtils.h"
15
16#include "StochasticToolsApp.h"
18
20#include "SurrogateTrainer.h"
21#include "MooseRandom.h"
22
23#include "Distribution.h"
24
26#include "CovarianceInterface.h"
27
28#include "GaussianProcess.h"
29
33{
34public:
37
38 virtual void initialize() final {}
39 virtual void execute() final {}
40 virtual void reTrain(const std::vector<std::vector<Real>> & inputs,
41 const std::vector<Real> & outputs) const final;
42
44 const StochasticTools::GaussianProcess & getGP() const { return _gp; }
45
49 const std::vector<Real> & getLengthScales() const;
50
55
60 void getNormTrainingOuts(std::vector<Real> & norm_training_outs) const;
61
62private:
64 const std::string _model_meta_data_name;
65
68
70 torch::Tensor & _training_params;
71
73 torch::Tensor & _training_data;
74
77
80
83};
84
85#endif
torch::Tensor & _training_data
Outputs (y) used for training, along with statistics.
const std::string _model_meta_data_name
Name for the meta data associated with training.
const std::vector< Real > & getLengthScales() const
Return the current length scales from GP training.
StochasticTools::GaussianProcess & _gp
The GP handler.
bool _standardize_params
Switch for training param (x) standardization.
StochasticTools::GaussianProcess & gp()
const StochasticTools::GaussianProcess & getGP() const
virtual void reTrain(const std::vector< std::vector< Real > > &inputs, const std::vector< Real > &outputs) const final
const StochasticTools::GaussianProcess::GPOptimizerOptions _optimization_opts
Struct holding parameters necessary for parameter tuning.
void getNormTrainingOuts(std::vector< Real > &norm_training_outs) const
Return the normalized training outputs.
const StochasticTools::Standardizer & getTrainingStandardizer() const
Return the training data outputs standardizer.
torch::Tensor & _training_params
Paramaters (x) used for training, along with statistics.
bool _standardize_data
Switch for training data(y) standardization.
const InputParameters & parameters() const
Utility class dedicated to hold structures and functions commont to Gaussian Processes.
Class for standardizing data (centering and scaling)
Interface for objects that need to use samplers.
This is the base trainer class whose main functionality is the API for declaring model data.
Structure containing the optimization options for hyperparameter-tuning.