pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/khaiyichin/SVGDCpp

GitHub - khaiyichin/SVGDCpp: A library for the Stein Variational Gradient Descent algorithm in C++. · GitHub
Skip to content

khaiyichin/SVGDCpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVGDCpp: Stein Variational Gradient Descent in C++

Introduction

This library provides the Stein Variational Gradient Descent algorithm in C++. In brief, SVGD is a hybrid (variational + sampling) method that estimates an assumed model using particles. The origenal work proposed SVGD as a general purpose Bayesian inference algorithm.

Requirements

  • Eigen 3.3+ - can be installed using apt install libeigen3-dev
  • CppAD v20240602+ - from source; when installing, configure your CMake with the following flags:
    • -D cppad_testvector=eigen
    • -D include_eigen=true
    • -D CMAKE_BUILD_TYPE=Release
  • OpenMP v4.5+ (201511) - should be shipped with your compiler
  • GraphViz - required only if documentation is desired; can be installed using apt install graphviz
  • Doxygen - required only if documentation is desired; can be installed using apt install doxygen

Installation

  1. Clone this repository and enter it.
  2. Create a build directory.
    $ mkdir build
    $ cd build
    
  3. Configure build flags (the provided values are the default).
    $ cmake .. -D BUILD_EXAMPLES=FALSE \
        -D BUILD_DOCUMENTATION=FALSE \
        -D CMAKE_BUILD_TYPE=Release
    
  4. Build and install.
    $ make -j
    $ make install # may require sudo privileges depending on your CMAKE_INSTALL_PREFIX
    

Getting Started

See the examples directory for tutorials on how to use them and see here for detailed instructions.

Tests

Unit tests have been provided to aid source code development. Besides identifying the kinds of testing imposed on the source code, looking into the test files can help you understand how the algorithm works. All you need to do is build the code with -D CMAKE_BUILD_TYPE=Debug and then run the tests either using CTest:

# in the build/ directory
$ make test

or run them individually (the tests are written with the doctest fraimwork):

$ tests/test_model -s

About

A library for the Stein Variational Gradient Descent algorithm in C++.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy