English

InvertibleNetworks.jl: A Julia package for scalable normalizing flows

Machine Learning 2023-12-22 v1

Abstract

InvertibleNetworks.jl is a Julia package designed for the scalable implementation of normalizing flows, a method for density estimation and sampling in high-dimensional distributions. This package excels in memory efficiency by leveraging the inherent invertibility of normalizing flows, which significantly reduces memory requirements during backpropagation compared to existing normalizing flow packages that rely on automatic differentiation frameworks. InvertibleNetworks.jl has been adapted for diverse applications, including seismic imaging, medical imaging, and CO2 monitoring, demonstrating its effectiveness in learning high-dimensional distributions.

Keywords

Cite

@article{arxiv.2312.13480,
  title  = {InvertibleNetworks.jl: A Julia package for scalable normalizing flows},
  author = {Rafael Orozco and Philipp Witte and Mathias Louboutin and Ali Siahkoohi and Gabrio Rizzuti and Bas Peters and Felix J. Herrmann},
  journal= {arXiv preprint arXiv:2312.13480},
  year   = {2023}
}

Comments

Submitted to Journal of Open Source Software (JOSS)