{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/improving-variational-inference-with-inverse","title":"Improving Variational Inference with Inverse Autoregressive Flow","arxiv_id":"1606.04934","date":"2016-06-15","proceeding":null,"authors":["Diederik P. Kingma","Tim Salimans","Rafal Jozefowicz","Xi Chen","Ilya Sutskever","Max Welling"],"abstract":"The framework of normalizing flows provides a general strategy for flexible\nvariational inference of posteriors over latent variables. We propose a new\ntype of normalizing flow, inverse autoregressive flow (IAF), that, in contrast\nto earlier published flows, scales well to high-dimensional latent spaces. The\nproposed flow consists of a chain of invertible transformations, where each\ntransformation is based on an autoregressive neural network. In experiments, we\nshow that IAF significantly improves upon diagonal Gaussian approximate\nposteriors. In addition, we demonstrate that a novel type of variational\nautoencoder, coupled with IAF, is competitive with neural autoregressive models\nin terms of attained log-likelihood on natural images, while allowing\nsignificantly faster synthesis.","url_abs":"http://arxiv.org/abs/1606.04934v2","url_pdf":"http://arxiv.org/pdf/1606.04934v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/openai/iaf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/Chung-I/Variational-Recurrent-Autoencoder-Tensorflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/Daniil-Selikhanovych/h-vae","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/SourangshuGhosh/VariationalAutoencoder","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/altosaar/variational-autoencoder","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/gergely-flamich/relative-entropy-coding","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/maxfrenzel/CompressionVAE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"improving-variational-inference-with-inverse","repo_url":"https://github.com/pluu2/SeparationFactor","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1606.04934","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1606.04934"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gergely-flamich/relative-entropy-coding","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/altosaar/variational-autoencoder","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SourangshuGhosh/VariationalAutoencoder","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Chung-I/Variational-Recurrent-Autoencoder-Tensorflow","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pluu2/SeparationFactor","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Daniil-Selikhanovych/h-vae","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/maxfrenzel/CompressionVAE","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/openai/iaf","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_fixture":1,"ran_honours":1,"ran_violates":1,"unverified":14},"by_repo_kind":{"official":{"samples":12,"ran":0,"repositories":1},"listed":{"samples":11,"ran":9,"repositories":3}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":3,"samples":[{"code_sha256_prefix":"111516f840a372c1","entry":"IATransform","repo":"Daniil-Selikhanovych/h-vae","repo_kind":"listed","path":"gaussians/api/models.py","file_url":"https://github.com/Daniil-Selikhanovych/h-vae/blob/HEAD/gaussians/api/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"111516f840a372c1"}},{"code_sha256_prefix":"91b99b3fed147f56","entry":"InverseAutoregressiveFlow","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"91b99b3fed147f56"}},{"code_sha256_prefix":"f23eaa93ae898d36","entry":"InverseAutoregressiveFlow","repo":"SourangshuGhosh/VariationalAutoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/SourangshuGhosh/VariationalAutoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f23eaa93ae898d36"}},{"code_sha256_prefix":"2c38022d1eff04ff","entry":"MADE","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2c38022d1eff04ff"}},{"code_sha256_prefix":"c5e5f0062d0ecc95","entry":"MADE","repo":"SourangshuGhosh/VariationalAutoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/SourangshuGhosh/VariationalAutoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c5e5f0062d0ecc95"}},{"code_sha256_prefix":"d9d78083d81ea57e","entry":"MaskedLinear","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9d78083d81ea57e"}},{"code_sha256_prefix":"8e18f9a0f8d910fd","entry":"create_degrees","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e18f9a0f8d910fd"}},{"code_sha256_prefix":"1a6accce5cb73c1a","entry":"create_input_order","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a6accce5cb73c1a"}},{"code_sha256_prefix":"a66337f8e2cf39a3","entry":"create_masks","repo":"altosaar/variational-autoencoder","repo_kind":"listed","path":"flow.py","file_url":"https://github.com/altosaar/variational-autoencoder/blob/HEAD/flow.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a66337f8e2cf39a3"}},{"code_sha256_prefix":"14c28be8b267f631","entry":"BaseModel","repo":"Daniil-Selikhanovych/h-vae","repo_kind":"listed","path":"gaussians/api/models.py","file_url":"https://github.com/Daniil-Selikhanovych/h-vae/blob/HEAD/gaussians/api/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"14c28be8b267f631"}},{"code_sha256_prefix":"e3388277ee1073f6","entry":"IAF","repo":"Daniil-Selikhanovych/h-vae","repo_kind":"listed","path":"gaussians/api/models.py","file_url":"https://github.com/Daniil-Selikhanovych/h-vae/blob/HEAD/gaussians/api/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3388277ee1073f6"}},{"code_sha256_prefix":"6b2a8f1c93d0b071","entry":"assign_to_gpu","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/common.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/common.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6b2a8f1c93d0b071"}},{"code_sha256_prefix":"7d849f5989cfd552","entry":"discretized_logistic","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/distributions.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/distributions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7d849f5989cfd552"}},{"code_sha256_prefix":"909cf81b1c39b724","entry":"find_trainable_variables","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/common.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/common.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"909cf81b1c39b724"}},{"code_sha256_prefix":"82124a12b25ebdcd","entry":"gaussian_diag_logps","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/distributions.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/distributions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82124a12b25ebdcd"}},{"code_sha256_prefix":"9ebdf8a2db9d5205","entry":"group","repo":"openai/iaf","repo_kind":"official","path":"graphy/png.py","file_url":"https://github.com/openai/iaf/blob/HEAD/graphy/png.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ebdf8a2db9d5205"}},{"code_sha256_prefix":"c6a19115e975d601","entry":"isarray","repo":"openai/iaf","repo_kind":"official","path":"graphy/png.py","file_url":"https://github.com/openai/iaf/blob/HEAD/graphy/png.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c6a19115e975d601"}},{"code_sha256_prefix":"ce0ecda2d9784fab","entry":"logsumexp","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/distributions.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/distributions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ce0ecda2d9784fab"}},{"code_sha256_prefix":"36cc303023093ab1","entry":"my_deconv2d","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/layers.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"36cc303023093ab1"}},{"code_sha256_prefix":"d819a40e3b285378","entry":"read_cifar10","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/cifar10_data.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/cifar10_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d819a40e3b285378"}},{"code_sha256_prefix":"575cf7ef0fce2c37","entry":"split","repo":"openai/iaf","repo_kind":"official","path":"tf_utils/common.py","file_url":"https://github.com/openai/iaf/blob/HEAD/tf_utils/common.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"575cf7ef0fce2c37"}},{"code_sha256_prefix":"82475f7d6cb98089","entry":"to_raster","repo":"openai/iaf","repo_kind":"official","path":"graphy/graphics.py","file_url":"https://github.com/openai/iaf/blob/HEAD/graphy/graphics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82475f7d6cb98089"}},{"code_sha256_prefix":"6721c3082df99f37","entry":"tostring","repo":"openai/iaf","repo_kind":"official","path":"graphy/png.py","file_url":"https://github.com/openai/iaf/blob/HEAD/graphy/png.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6721c3082df99f37"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}