Skip to content

gebauerm/variational_inference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

variational_inference

gebauerm codecov

This is a project for experimenting with variational inference and design patterns in software development. The goal is to get familiar with approximate inference and find strategies for improvements in the optimization procedure.

Getting Started

Follow these instructions to get the project running for development purposes.

Prerequisites

  1. Make sure you installed pyenv to manage your python versions. Add the following lines to your .bashrc or .bash_profile.

    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
    

    The python version in your terminal is now set via pyenv.

  2. Install Python 3.7.7 for the project.

    pyenv install 3.7.7.
    

    Switch into the root directory of the repository and type:

    pyenv local 3.7.7
    
  3. Install pipenv to manage package dependencies and create a virtual environment with it.

    pip install pipenv
    pipenv shell
    

Installing

Install all necessary packages with the help of pipenv, by simply executing:

pipenv install

It reads out package dependencies from the "Pipfile" and gets the correct versions via hash values.

If you want to install a new package install it via pipenv install <packageName>. It than will be tracked in the "Pipfile".

Visualize package dependencies via pipenv graph.

Tests

Tests are run in a CI Pipeline on https://circleci.com/.

To execute tests locally just run pytest -v test/

Authors

Michael Gebauer
E-Mail: [email protected]

Acknowledgments

This project is inspired by papers and repositories mentioned in the references. Feel free to contribute. If you use this repository please cite with:

@misc{var_inf_geb,
  author = {Gebauer, Michael},
  title = {variational_inference - an introductory example},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/gebauerm/variational_inference}},
}

To Do:

  • Implement Expected Lower Bound Calculation
  • Fix ELBO Issue and write a Class

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published