GenericActiveLearningSampler

A generic sampler to support parallel active learning.

Description

The GenericActiveLearningSampler is intended to facilitate parallel active learning schemes in MOOSE. This class does the following important functions:

  • Propose num_tries Monte Carlo samples of the input parameters for evaluation by the GaussianProcessSurrogate.

  • Take ranked indices from the previous iteration using sorted_indices to evaluate the subApp using the num_parallel_proposals best input parameters. The best set of input parameters is determined by the GaussianProcessSurrogate and ParallelAcquisition systems.

This object should be used in conjuction to the Reporter GenericActiveLearner which facilitates the retraining of the Gaussian process and also picks the next best batch of inputs under which to evaluate the MOOSE model via the AcquisitionFunction.

Input Parameters

  • distributionsThe distribution names to be sampled, the number of distributions provided defines the number of columns per matrix.

    C++ Type:std::vector<DistributionName>

    Controllable:No

    Description:The distribution names to be sampled, the number of distributions provided defines the number of columns per matrix.

  • initial_valuesThe starting values of the inputs to be calibrated.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:The starting values of the inputs to be calibrated.

  • num_parallel_proposalsNumber of proposals to make and corresponding subApps executed in parallel.

    C++ Type:unsigned int

    Controllable:No

    Description:Number of proposals to make and corresponding subApps executed in parallel.

  • num_triesNumber of samples to propose in each iteration (not all are sent for subApp evals).

    C++ Type:unsigned int

    Range:num_tries>0

    Controllable:No

    Description:Number of samples to propose in each iteration (not all are sent for subApp evals).

  • sorted_indicesThe sorted sample indices in order of importance to evaluate the subApp.

    C++ Type:ReporterName

    Controllable:No

    Description:The sorted sample indices in order of importance to evaluate the subApp.

Required Parameters

  • execute_onINITIALThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:INITIAL

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, LINEAR_CONVERGENCE, NONLINEAR, NONLINEAR_CONVERGENCE, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, MULTIAPP_FIXED_POINT_CONVERGENCE, FINAL, CUSTOM, PRE_MULTIAPP_SETUP

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • limit_get_global_samples429496729The maximum allowed number of items in the DenseMatrix returned by getGlobalSamples method.

    Default:429496729

    C++ Type:unsigned long

    Controllable:No

    Description:The maximum allowed number of items in the DenseMatrix returned by getGlobalSamples method.

  • limit_get_local_samples429496729The maximum allowed number of items in the DenseMatrix returned by getLocalSamples method.

    Default:429496729

    C++ Type:unsigned long

    Controllable:No

    Description:The maximum allowed number of items in the DenseMatrix returned by getLocalSamples method.

  • limit_get_next_local_row429496729The maximum allowed number of items in the std::vector returned by getNextLocalRow method.

    Default:429496729

    C++ Type:unsigned long

    Controllable:No

    Description:The maximum allowed number of items in the std::vector returned by getNextLocalRow method.

  • max_procs_per_row4294967295This will ensure that the sampler is partitioned properly when 'MultiApp/*/max_procs_per_app' is specified. It is not recommended to use otherwise.

    Default:4294967295

    C++ Type:unsigned int

    Controllable:No

    Description:This will ensure that the sampler is partitioned properly when 'MultiApp/*/max_procs_per_app' is specified. It is not recommended to use otherwise.

  • min_procs_per_row1This will ensure that the sampler is partitioned properly when 'MultiApp/*/min_procs_per_app' is specified. It is not recommended to use otherwise.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:This will ensure that the sampler is partitioned properly when 'MultiApp/*/min_procs_per_app' is specified. It is not recommended to use otherwise.

  • num_random_seeds100000Initialize a certain number of random seeds. Change from the default only if you have to.

    Default:100000

    C++ Type:unsigned int

    Controllable:No

    Description:Initialize a certain number of random seeds. Change from the default only if you have to.

  • seed0Random number generator initial seed

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:Random number generator initial seed

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files