Introduction to APPRENTICE

Overview of Apprentice

The core functionality of Apprentice is construction of a multivariate analytic surrogate model to computationally expensive Monte-Carlo predictions. The surrogate model is used for numerical optimization of a prediction function since it can be prohibitively expensive to perform optimization over functions with the Monte-Carlo predictions. To summarize, Apprentice can be used for performing three tasks:

  1. Construct surrogate models to computationally expensive Monte-Carlo predictions

  2. Formulate a prediction function with surrogate models

  3. Perform numerical optimziation over the prediction function

Dependencies

Required dependencies:

Optional dependencies:

  • numba 0.40.0 or above

  • h5py 2.8.0 or above

  • matplotlib 3.0.0 or above

  • GPy 1.9.9 or above (required if gaussian process surrogate model object is constructed)

For running with the mpi4py parallelism:

  • A functional MPI 1.x/2.x/3.x implementation, such as MPICH, built with shared/dynamic libraries

  • mpi4py v3.0.0 or above

For compiling this documentation:

Installation

To install apprentice, execute the following commands:

git clone git@github.com:HEPonHPC/apprentice.git
cd  apprentice/
pip install .
cd ..

Testing the installation

To test the install, run the unit unit tests over all modules of apprentice:

cd  apprentice/apprentice
python -m unittest discover .