Skip to content
/ evo Public

A NumPy package for Evolutionary Variational Optimization

License

Notifications You must be signed in to change notification settings

tvlearn/evo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVO - Evolutionary Variational Optimization of Generative Models

code style: black

This repository contains the implementation of the EBSC and ES3C algorithms described in the paper [1], as well as some of the algorithms described in the paper [2]. Examples how to setup and run the algorithms can be found here. You may also check out our tvo package which features PyTorch implementations of the algorithms, and which is available here.

Installation

We recommend Anaconda to manage the installation. Create a new environment to bundle the packages required:

$ conda create -c conda-forge -c anaconda -n evo python=2.7.15 pip pytables imageio

Note that the results described in [1] for EBSC and ES3C were produced by running in Python 2, but you may need to install a Python 3 version instead.

The implementations of the algorithms are parallelized using mpi4py, which requires a system level installtion of MPI. Run one of the following commands, depending on your system, to install:

$ brew install mpich  # MacOS
$ sudo apt install mpich  # Ubuntu

Please consult the official documentation of mpi4py and MPICH if you need help.

Once MPICH is installed, you are ready to install mpi4py and further required packages by running:

$ pip install -r requirements.txt

Running the examples furthermore requires the tvutil package, for which installation instructions can be found here.

Finally, you are ready to install evo:

$ python setup.py install

Remark:

For code formatting and analysis, we use black and pylama. These tools can be installed via:

$ pip3 install black[python2] pylama

Reference

[1] Jakob Drefs, Enrico Guiraud, Jörg Lücke. Evolutionary Variational Optimization of Generative Models. Journal of Machine Learning Research 23(21):1-51, 2022. (online access)

[2] Hamid Mousavi, Jakob Drefs, Florian Hirschberger, Jörg Lücke. Generic Unsupervised Optimization for a Latent Variable Model With Exponential Family Observables. Journal of Machine Learning Research 24(285):1−59, 2023. (online access)

About

A NumPy package for Evolutionary Variational Optimization

Resources

License

Stars

Watchers

Forks

Languages