Papers › Masked Autoregressive Flow for Density Estimation

Masked Autoregressive Flow for Density Estimation

19 May 2017NeurIPS 2017 12arXiv:1705.07057archive 2025-07-28

George Papamakarios, Theo Pavlakou, Iain Murray

Autoregressive models are among the best performing neural density estimators. We describe an approach for increasing the flexibility of an autoregressive model, based on modelling the random numbers that the model uses internally when generating data. By constructing a stack of autoregressive models, each modelling the random numbers of the next model in the stack, we obtain a type of normalizing flow suitable for density estimation, which we call Masked Autoregressive Flow. This type of flow is closely related to Inverse Autoregressive Flow and is a generalization of Real NVP. Masked Autoregressive Flow achieves state-of-the-art performance in a range of general-purpose density estimation tasks.

PaperPDFConference PDFCodeCode 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="1705.07057")

Code

Syntology Ran 22 of 28 code samples harvested from 9 repositories linked to this paper; 6 have no recorded run. Of those that ran: 2 ran · honoured contract; 20 ran with no contract checked.

By repository: community (archive-listed): 28 samples from 9 repositories, 22 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

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

gpapamak/maf officialmentioned in papermentioned on GitHubNOASSERTION report
CW-Huang/CP-Flow mentioned on GitHubpytorch report
GinGinWang/MTQ mentioned on GitHubpytorch report
Kronus97/natural-flows-digits mentioned on GitHubpytorch report
NVIDIA/radtts mentioned on GitHubpytorch report
chayanchatterjee/cbc-skynet mentioned on GitHubtfGPL-3.0 report
chayanchatterjee/gw-skylocator mentioned on GitHubtf report
e-hulten/maf mentioned on GitHubpytorch report
e-hulten/real-nvp-2d mentioned on GitHubpytorch report
e-hulten/real_nvp_2d mentioned on GitHubpytorch report
francois-rozet/uci-datasets mentioned on GitHub report
francois-rozet/zuko mentioned on GitHubpytorchMIT report
ikostrikov/pytorch-flows mentioned on GitHubpytorch report
kmzzhang/nbi mentioned on GitHubpytorch report
lifeitech/fce-2d mentioned on GitHubpytorch report
mahkons/flows mentioned on GitHubpytorch report
maho3/ltu-ili mentioned on GitHubpytorch report
mukehvier/tensorflow-prob mentioned on GitHubtf report
ricokaloklo/denmarf mentioned on GitHubpytorch report
tensorflow/probability mentioned on GitHubtfApache-2.0 report
zhoudoao-bayes/tf-probability 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

28 samples harvested; 22 ran; 2 honoured the contract we drafted; 6 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
20ran
6unverified

Licence: 9 of the 28 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 9 repositories linked to this paper, official or community; each sample names its own and says which. “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.

ActNorm mahkons/flows/MAF/MAF.py community (archive-listed) ran MIT (permissive) · 1497a8b2b937dd04 · report
BatchNorm e-hulten/real-nvp-2d/new_model.py community (archive-listed) ran no licence file found · pointer only · f3945dba0b2f2a01 · report
BatchNormLayer e-hulten/maf/maf.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 14efe965c1aa68ec · report
MADE e-hulten/maf/maf.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · ab526ee358bb52cd · report
MADE ricokaloklo/denmarf/denmarf/flows.py community (archive-listed) ran fingerprinted MIT (permissive) · b73e2b4f0815b899 · report
MADE e-hulten/real-nvp-2d/new_model.py community (archive-listed) ran fingerprinted no licence file found · pointer only · dbff5eb0c83199fc · report
MADE CW-Huang/CP-Flow/lib/made.py community (archive-listed) ran fingerprinted MIT (permissive) · e6a14474e4b3485e · report
MADE ikostrikov/pytorch-flows/flows.py community (archive-listed) ran fingerprinted MIT (permissive) · 098df5efa3c71254 · report
MADE mahkons/flows/MAF/MAF.py community (archive-listed) ran MIT (permissive) · 24daef5e3d4459b5 · report
MADE GinGinWang/MTQ/models/flow_maf_models.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 3ac8705b7982d1bf · report
MADE kmzzhang/nbi/src/nbi/nn/flows.py community (archive-listed) ran licence not identified · pointer only · 0f142b06e06b1de6 · report
MADE lifeitech/fce-2d/flows/maf.py community (archive-listed) ran MIT (permissive) · cd73e59d4d2cfa4c · report
MAFLayer e-hulten/maf/maf.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 7e4b7180e009cb0b · report
MaskedLinear e-hulten/maf/maf.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 00a0f4545a20f827 · report
MaskedLinear CW-Huang/CP-Flow/lib/made.py community (archive-listed) ran MIT (permissive) · f44d760efdbdbe0c · report
MaskedLinear mahkons/flows/MAF/MAF.py community (archive-listed) ran fingerprinted MIT (permissive) · cae870109a352c71 · report
MaskedLinear lifeitech/fce-2d/flows/maf.py community (archive-listed) ran · metamorphic tier: invariant MIT (permissive) · 80e4b97aaed77a6c · report
NewCouplingLayer e-hulten/real-nvp-2d/new_model.py community (archive-listed) ran no licence file found · pointer only · 7abc1ea24d4ec73c · report
ScaleTranslate e-hulten/real-nvp-2d/new_model.py community (archive-listed) ran no licence file found · pointer only · 74841353295bfb2d · report
Shuffle mahkons/flows/MAF/MAF.py community (archive-listed) ran MIT (permissive) · 6dbb94a13701bd3f · report
get_mask ricokaloklo/denmarf/denmarf/flows.py community (archive-listed) ran · honoured contract MIT (permissive) · a4dfb67f7c8176a7 · report
get_mask kmzzhang/nbi/src/nbi/nn/flows.py community (archive-listed) ran · honoured contract licence not identified · pointer only · d580682a49233ab6 · report
MAF e-hulten/maf/maf.py community (archive-listed) unverified MIT (permissive) · 866ea62b086bd0dc · report
MAF mahkons/flows/MAF/MAF.py community (archive-listed) unverified MIT (permissive) · d96055fcc27e26e3 · report
MAF lifeitech/fce-2d/flows/maf.py community (archive-listed) unverified MIT (permissive) · 11c761294eefa8ee · report
MaskedSum e-hulten/real-nvp-2d/new_model.py community (archive-listed) unverified no licence file found · pointer only · 6cc65593a2aa409d · report
NewFlow e-hulten/real-nvp-2d/new_model.py community (archive-listed) unverified no licence file found · pointer only · a7db3153f7f53ece · report
SequentialConditionalFlow mahkons/flows/MAF/MAF.py community (archive-listed) unverified MIT (permissive) · 8f01a25b9ec07b0b · report

Tasks

Density Estimation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Density Estimation BSDS300 MADE MoG Log-likelihood 153.71 #4 of 5 Archive leaderboard report
Density Estimation CIFAR-10 MAF Log-likelihood (nats) 3049 #15 of 15 Archive leaderboard report
Density Estimation CIFAR-10 (Conditional) MAF Log-likelihood 5872 #1 of 1 Archive leaderboard report
Density Estimation MNIST MADE MoG Log-likelihood (nats) -1038.5 #6 of 6 Archive leaderboard report
Density Estimation UCI HEPMASS MADE MoG Log-likelihood -15.15 #4 of 5 Archive leaderboard report
Density Estimation UCI MINIBOONE MADE MoG Log-likelihood -12.27 #5 of 5 Archive leaderboard report
Density Estimation UCI POWER MADE MoG Log-likelihood 0.4 #5 of 6 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.

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