InvertibleNetworks.jl: A Julia package for scalable normalizing flows

TitleInvertibleNetworks.jl: A Julia package for scalable normalizing flows
Publication TypeJournal Article
Year of Publication2024
AuthorsRafael Orozco, Philipp A. Witte, Mathias Louboutin, Ali Siahkoohi, Gabrio Rizzuti, Bas Peters, Felix J. Herrmann
JournalJournal of Open Source Software
Volume9
Month7
KeywordsBayesian inference, computing, conditional normalizing flows, deep learning, HPC, Inverse problems, memory, Normalizing flows, software, Uncertainty quantification
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.

URLhttps://doi.org/10.21105/joss.06554
DOI10.21105/joss.06554
Citation Keyorozco2023invnet