Skip to content

llnl/SEAMsurrogates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 .

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 Intro to Deep Learning, PyTorch, and Surrogate Modeling
2 Intro to Neural Networks (NNs) as Surrogates nn_sandbox.py
3 Exploring NN Surrogates for Example Data nn_fromdata.py
4 Intro to Gaussian Processes (GPs) as Surrogates gp_sandbox.py
5 Exploring GP Surrogates for Example Data gp_fromdata.py
6 Basic Bayesian Optimization (BO) for Design Optimization bo_sandbox.py
7 Exploring BO for Design Optimization on Example Data bo_fromdata.py
8 Intro to Sensitivity Analysis (SA) sa_sandbox.py, sa_fromdata.py
9 Discuss Problem Statement Ideas for Final Project
10 Work on Final Project
11 Work on Final Project
12 Final Project Review & Presentation

Contributors and Contact Information

License

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

See LICENSE and NOTICE for details.

Release

LLNL-CODE-2010455

About

Shared Education in Artificial intelligence and Machine learning (SEAM) professional development course on "Surrogate Modeling and Design Optimization," as designed at LLNL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages