Papers › Density estimation using Real NVP

Density estimation using Real NVP

27 May 2016arXiv:1605.08803archive 2025-07-28

Laurent Dinh, Jascha Sohl-Dickstein, Samy Bengio

Unsupervised learning of probabilistic models is a central yet challenging problem in machine learning. Specifically, designing models with tractable learning, sampling, inference and evaluation is crucial in solving this task. We extend the space of such models using real-valued non-volume preserving (real NVP) transformations, a set of powerful invertible and learnable transformations, resulting in an unsupervised learning algorithm with exact log-likelihood computation, exact sampling, exact inference of latent variables, and an interpretable latent space. We demonstrate its ability to model natural images on four datasets through sampling, log-likelihood evaluation and latent variable manipulations.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1605.08803")

Code

Syntology Ran 43 of 70 code samples harvested from 16 repositories linked to this paper; 27 have no recorded run. Of those that ran: 2 ran · honoured contract; 7 ran · our draft was wrong; 3 ran · fixture could not drive it; 31 ran with no contract checked.

By repository: community (archive-listed): 69 samples from 16 repositories, 42 ran; 1 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

35 repositories listed; official and paper-mentioned ones first.

ANLGBOY/RealNVP-with-PyTorch mentioned on GitHubpytorch report
CompPhysVienna/paper_NF_for_rare_events mentioned on GitHubpytorch report
P4ppenheimer/NormalizingFlows mentioned on GitHubpytorch report
P4ppenheimer/NormalizingFlows_rnvp mentioned on GitHubpytorch report
SamArgt/AudioSourceSep mentioned on GitHubtf report
SrinjaySarkar/REAL-NVP mentioned on GitHubpytorch report
ars-ashuha/real-nvp-pytorch mentioned on GitHubpytorch report
chrischute/real-nvp mentioned on GitHubpytorchMIT report
claCase/NormalizingFlow mentioned on GitHubtf report
desreslab/invaert4cardio mentioned on GitHubpytorch report
e-hulten/real-nvp-2d mentioned on GitHubpytorch report
e-hulten/real_nvp_2d mentioned on GitHubpytorch report
fmu2/realNVP mentioned on GitHubpytorch report
gtegner/real_nvp mentioned on GitHubpytorch report
hse-cs/probaforms mentioned on GitHubpytorch report
ikostrikov/pytorch-flows mentioned on GitHubpytorch report
ispamm/realnvp-demo-pytorch mentioned on GitHubpytorch report
jenyliu/DLA_interview mentioned on GitHubpytorch report
jfcrenshaw/pzflow mentioned on GitHubjax report
li012589/NeuralRG mentioned on GitHubpytorch report
mahkons/flows mentioned on GitHubpytorch report
rhychen/Glow mentioned on GitHubpytorch report
senya-ashukha/real-nvp-pytorch mentioned on GitHubpytorch report
simonwestberg/DD2412-Glow mentioned on GitHubtf report
simonwestberg/Glow mentioned on GitHubtf report
sshish/NF mentioned on GitHubpytorch report
ssumin6/real_nvp mentioned on GitHubpytorch report
taesung89/real-nvp mentioned on GitHubtf report
tensorflow/models mentioned on GitHubtf report
wjy5446/pytorch-Real-NVP mentioned on GitHubpytorch report
xlwan/KRnet mentioned on GitHubtf report
xqding/RealNVP mentioned on GitHubpytorch report
gitlab.com/h2t/SALaT mentioned on GitHubtf report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

70 samples harvested; 43 ran; 2 honoured the contract we drafted; 27 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

2ran · honoured contract
7ran · our draft was wrong
3ran · fixture could not drive it
31ran
27unverified

Licence: 33 of the 70 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 16 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

AbstractCoupling fmu2/realNVP/realnvp.py community (archive-listed) ran MIT (permissive) · f972e7e0b4588d1e · report
ActNormImage mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · d5af26f1bb10937d · report
AffineCoupling simonwestberg/DD2412-Glow/model.py community (archive-listed) ran no licence file found · pointer only · b774329417d3cb53 · report
AffineCoupling rhychen/Glow/models/glow.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · fcdf1094082b5983 · report
AffineCouplingLayer ssumin6/real_nvp/layers.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · a68f3013f9d0faa8 · report
ConditionalFlow mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · b896483dfb367a1d · report
Conv2D_zeros simonwestberg/DD2412-Glow/model.py community (archive-listed) ran no licence file found · pointer only · 2e844d999d1172c3 · report
Conv2dZeroInit rhychen/Glow/models/glow.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted no licence file found · pointer only · 666bcaaa2d8effd9 · report
CouplingLayer wjy5446/pytorch-Real-NVP/network.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 3d011f7cef5a2e7b · report
CouplingLayer e-hulten/real-nvp-2d/rnvp.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 0eaa0501f292c8c6 · report
CouplingLayer ikostrikov/pytorch-flows/flows.py community (archive-listed) ran MIT (permissive) · 34ffed75d4fb4931 · report
Flow li012589/NeuralRG/flow/rnvp.py community (archive-listed) ran Apache-2.0 (permissive) · 5f7fa08b89de722c · report
Function_s_t wjy5446/pytorch-Real-NVP/network.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted no licence file found · pointer only · b6542dbfd17b1777 · report
InvertibleLayer hse-cs/probaforms/probaforms/models/realnvp.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · be475a4fed7464c2 · report
LinearBatchNorm ispamm/realnvp-demo-pytorch/rnvp.py community (archive-listed) ran fingerprinted no licence file found · pointer only · e65c09e2e972e3c6 · report
LinearCouplingLayer ispamm/realnvp-demo-pytorch/rnvp.py community (archive-listed) ran no licence file found · pointer only · ee4d33b5da8d23fa · report
NN2 xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran fingerprinted GPL-3.0 (copyleft) · pointer only · 72ed3d4628c2fd6f · report
NormalizingFlow hse-cs/probaforms/probaforms/models/realnvp.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 53e531a482ac4dee · report
Permutation ispamm/realnvp-demo-pytorch/rnvp.py community (archive-listed) ran fingerprinted no licence file found · pointer only · a0db7e5e5ab30955 · report
RNVP li012589/NeuralRG/flow/rnvp.py community (archive-listed) ran Apache-2.0 (permissive) · 30e1477bc4b57f7d · report
RealNVP wjy5446/pytorch-Real-NVP/network.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 9a35cdb9141d51ec · report
RealNVP e-hulten/real-nvp-2d/rnvp.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 22e52a581dc49567 · report
ResidualBlock fmu2/realNVP/realnvp.py community (archive-listed) ran MIT (permissive) · 02d7de503f8f151c · report
ResidualModule fmu2/realNVP/realnvp.py community (archive-listed) ran MIT (permissive) · fbccf5ed84113182 · report
ScaleTranslate e-hulten/real-nvp-2d/rnvp.py community (archive-listed) ran no licence file found · pointer only · d40249b744f13e2f · report
Squeeze mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · a3d33c4dfab6325f · report
Unsqueeze mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 681e06d7532d0edf · report
WeightNormConv2d fmu2/realNVP/realnvp.py community (archive-listed) ran MIT (permissive) · 355dc98275bca37b · report
__get_channelwise_mask mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 3f4a65a29736ed2e · report
__get_checkerboard_mask mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 60ea456ee4a19edf · report
actnorm xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran · metamorphic tier: deterministic GPL-3.0 (copyleft) · pointer only · c793226ebfc2c109 · report
affine_coupling xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran GPL-3.0 (copyleft) · pointer only · cd3b1c121c287a2d · report
affine_coupling_layer CompPhysVienna/paper_NF_for_rare_events/conditional_bg/network/coupling_layers.py community (archive-listed) ran MIT (permissive) · 94f135340bbbc29f · report
checkNan li012589/NeuralRG/flow/rnvp.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · 299ba404a9f96d42 · report
default_initializer xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran · our draft was wrong GPL-3.0 (copyleft) · pointer only · a256d12412fc4a42 · report
entry_stop_gradients xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran · honoured contract GPL-3.0 (copyleft) · pointer only · 137d28e6764f74e4 · report
flatten_sum xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran · our draft was wrong fingerprinted GPL-3.0 (copyleft) · pointer only · 42a8363a66214fb0 · report
gen_network hse-cs/probaforms/probaforms/models/realnvp.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 8f1ce335784ce477 · report
get_mask mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · fixture could not drive it MIT (permissive) · a9af99f9dc6f88d5 · report
log_standard_Gaussian xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) ran · honoured contract fingerprinted GPL-3.0 (copyleft) · pointer only · 678f84c2e99d3379 · report
squeeze__ mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · 314875cfe97c786f · report
unsqueeze__ mahkons/flows/RealNVP/RealNVP.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · e24beea03138f40b · report
Basic sshish/NF/NF.py community (archive-listed) unverified no licence file found · pointer only · ccc805cf7aa6b406 · report
CDF_quadratic xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · 32da9e5b5ad57d81 · report
ChannelwiseAdditiveCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · 2905171d5a4f77df · report
ChannelwiseAffineCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · 81950ec1ad22027a · report
ChannelwiseCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · 349f39c743f5c526 · report
CheckerboardAdditiveCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · 00838e83ac1117ce · report
CheckerboardAffineCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · d77fd2f51f8dae00 · report
CheckerboardCoupling fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · f5044d42673aa07f · report
CouplingLayer sshish/NF/NF.py community (archive-listed) unverified no licence file found · pointer only · de669ff9f15b36d1 · report
CouplingLayer taesung89/real-nvp/real_nvp/nn.py community (archive-listed) unverified no licence file found · pointer only · f62eb0295869e616 · report
IM_rNVP xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · 3c41f44f3a1ddce7 · report
Layer taesung89/real-nvp/real_nvp/nn.py community (archive-listed) unverified no licence file found · pointer only · 0e7224db7dc1693f · report
Linear xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · 3c1a067e298ec380 · report
LinearRNVP ispamm/realnvp-demo-pytorch/rnvp.py community (archive-listed) unverified no licence file found · pointer only · a64f97c02b4fcc6a · report
RealNVP mahkons/flows/RealNVP/RealNVP.py community (archive-listed) unverified MIT (permissive) · e42de3a818fcf93d · report
RealNVP hse-cs/probaforms/probaforms/models/realnvp.py community (archive-listed) unverified MIT (permissive) · 6c4e0011ebb20eb2 · report
RealNVP fmu2/realNVP/realnvp.py community (archive-listed) unverified MIT (permissive) · db719b918ff418df · report
RealNVPLayer hse-cs/probaforms/probaforms/models/realnvp.py community (archive-listed) unverified MIT (permissive) · 1605aa4af4cccc4c · report
SequentialFlow mahkons/flows/RealNVP/RealNVP.py community (archive-listed) unverified MIT (permissive) · 8f014633ebc49717 · report
SequentialFlow ispamm/realnvp-demo-pytorch/rnvp.py community (archive-listed) unverified no licence file found · pointer only · 2ef261497864740a · report
W_LU xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · be23ec472b640e48 · report
bits_per_dim chrischute/real-nvp/util/optim_util.py community (archive-listed) unverified MIT (permissive) · 54dc276d7472ea04 · report
checkerboard_mask chrischute/real-nvp/util/array_util.py community (archive-listed) unverified MIT (permissive) · 45a2481cb9317453 · report
flow_mapping xlwan/KRnet/BR_lib/BR_model.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · 40ddb492b2e78ade · report
get_norm_layer chrischute/real-nvp/util/norm_util.py community (archive-listed) unverified MIT (permissive) · 94af3072059ccb7c · report
get_param_groups chrischute/real-nvp/util/norm_util.py community (archive-listed) unverified MIT (permissive) · e478f33fab38d758 · report
squeeze_2x2 chrischute/real-nvp/util/array_util.py community (archive-listed) unverified MIT (permissive) · 4c2fbb62a7ee51a7 · report
int_shape identical code first harvested elsewhere ran · our draft was wrong fingerprinted licence of this copy not recorded · 3ba6aec873833b39 · report

Tasks

BIG-bench Machine LearningDensity EstimationImage Generation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Generation ImageNet 32x32 Real NVP (Dinh et al., 2017) bpd 4.28 #35 of 35 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: RealNVP

AdamAffine CouplingBatch NormalizationConvolutionNormalizing FlowsReLURealNVPResidual BlockResidual ConnectionWeight DecayWeight Normalization

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections