Skip to content

Latest commit

 

History

History
86 lines (62 loc) · 5.22 KB

File metadata and controls

86 lines (62 loc) · 5.22 KB

SEAM Surrogate Modeling and Design Optimization Course Material

Overview

This repository contains materials for an introductory course on "Surrogate Modeling and Design Optimization," originally developed for the Shared Education in Artificial intelligence and Machine learning (SEAM) professional development program at Lawrence Livermore National Laboratory (LLNL). It features the surmod Python package, which implements core techniques including Feedforward Neural Networks (FFNNs) and Gaussian Processes (GPs) as surrogates, basic Bayesian Optimization (BO) for design optimization, and Sensitivity Analysis (SA). Weekly workflow scripts in the scripts directory demonstrate these methods in practice. Example datasets included in the data directory are used to support hands-on learning and experimentation.

For more detailed documentation on the modules in the surmod package, please view our documentation.

Information about the SEAM program is available to employees of Lawrence Livermore National Laboratory at https://seam.llnl.gov.

Please send correspondence about this code to seam@llnl.gov.

Getting Started

  1. Clone the repository
    git clone https://github.com/LLNL/SEAMsurrogates.git
    cd SEAMsurrogates
  1. Create a virtual environment
    python3 -m venv .venv
  1. Activate the virtual environment
    source .venv/bin/activate
  1. Install the surmod package and dependencies locally
    pip install -e .
  1. For development (optional): Install development dependencies for testing and linting
    pip install -e ".[dev]"

Datasets

The datasets in the data directory are from different sources:

  • The JAG ICF dataset is from this repo.
  • The borehole dataset was simulated from the borehole function.
  • The datasets that start with hst are from simulations of the Hubble Space Telescope (HST), and are sampled from larger datasets available here.

Course Outline

Week Topic Driver Scripts
1 Deep Learning, PyTorch, and Surrogate Modeling
2 Neural Network (NN) Surrogate Models nn_sandbox.py
3 NN Surrogates with Example Data nn_fromdata.py
4 Gaussian Process (GP) Surrogate Models gp_sandbox.py
5 GP Surrogates with Example Data gp_fromdata.py
6 Bayesian Optimization (BO) for Design bo_sandbox.py
7 BO with Example Data bo_fromdata.py
8 Sensitivity Analysis (SA) sa_sandbox.py, sa_fromdata.py
9 Final Project Problem Formulation
10 Final Project Development
11 Final Project Development
12 Final Project Presentations

Contributors

License

This software is distributed under the terms of the BSD-Commercial license.

See LICENSE and NOTICE for details.

Release

LLNL-CODE-2010455