{"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/gaussianization-flows","title":"Gaussianization Flows","arxiv_id":"2003.01941","date":"2020-03-04","proceeding":null,"authors":["Chenlin Meng","Yang song","Jiaming Song","Stefano Ermon"],"abstract":"Iterative Gaussianization is a fixed-point iteration procedure that can transform any continuous random vector into a Gaussian one. Based on iterative Gaussianization, we propose a new type of normalizing flow model that enables both efficient computation of likelihoods and efficient inversion for sample generation. We demonstrate that these models, named Gaussianization flows, are universal approximators for continuous probability distributions under some regularity conditions. Because of this guaranteed expressivity, they can capture multimodal target distributions without compromising the efficiency of sample generation. Experimentally, we show that Gaussianization flows achieve better or comparable performance on several tabular datasets compared to other efficiently invertible flow models such as Real NVP, Glow and FFJORD. In particular, Gaussianization flows are easier to initialize, demonstrate better robustness with respect to different transformations of the training data, and generalize better on small training sets.","url_abs":"https://arxiv.org/abs/2003.01941v1","url_pdf":"https://arxiv.org/pdf/2003.01941v1.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":"gaussianization-flows","repo_url":"https://github.com/chenlin9/Gaussianization_Flows","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"gaussianization-flows","repo_url":"https://github.com/IPL-UV/gaussflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"gaussianization-flows","repo_url":"https://github.com/IPL-UV/rbig_jax","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"activation-normalization","method_name":"Activation Normalization"},{"method_slug":"affine-coupling","method_name":"Affine Coupling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"glow","method_name":"GLOW"},{"method_slug":"invertible-1x1-convolution","method_name":"Invertible 1x1 Convolution"},{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"},{"method_slug":"realnvp","method_name":"RealNVP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.01941","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.01941"}},"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/IPL-UV/rbig_jax","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/IPL-UV/gaussflow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chenlin9/Gaussianization_Flows","reach":null}],"summary":{"ran_fixture":1,"unverified":20},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":20,"ran":0,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"d29ea21629f4ac1b","entry":"flow_loss","repo":"chenlin9/Gaussianization_Flows","repo_kind":"official","path":"tabular_experiment.py","file_url":"https://github.com/chenlin9/Gaussianization_Flows/blob/HEAD/tabular_experiment.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d29ea21629f4ac1b"}},{"code_sha256_prefix":"5d04f997a7a2e253","entry":"add_wandb_args","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/experiments/utils.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/experiments/utils.py","link_basis":"harvester_set","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":"5d04f997a7a2e253"}},{"code_sha256_prefix":"93b57317942866eb","entry":"conv_exp","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/models/linear.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/models/linear.py","link_basis":"harvester_set","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":"93b57317942866eb"}},{"code_sha256_prefix":"e8bea811f4c19c70","entry":"generate_2d_grid","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/viz/bivariate.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/viz/bivariate.py","link_basis":"harvester_set","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":"e8bea811f4c19c70"}},{"code_sha256_prefix":"c7f37f093738dc31","entry":"get_quantiles","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/quantiles.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/quantiles.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":"c7f37f093738dc31"}},{"code_sha256_prefix":"dfd3476c2058eb71","entry":"info_red_cond","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/stopping.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/stopping.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":"dfd3476c2058eb71"}},{"code_sha256_prefix":"f6023901bf40e193","entry":"init_train_op","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/training_old.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/training_old.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":"f6023901bf40e193"}},{"code_sha256_prefix":"5b1d0013e3b6ee41","entry":"marginal_transform","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/utils.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/utils.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":"5b1d0013e3b6ee41"}},{"code_sha256_prefix":"47b5ae77e59c4063","entry":"matrix_exp","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/models/linear.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/models/linear.py","link_basis":"harvester_set","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":"47b5ae77e59c4063"}},{"code_sha256_prefix":"4e907657e24742b5","entry":"matrix_log","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/models/linear.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/models/linear.py","link_basis":"harvester_set","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":"4e907657e24742b5"}},{"code_sha256_prefix":"6694e2ccbc71cc1e","entry":"negative_log_likelihood_bpd","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/losses/nll.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/losses/nll.py","link_basis":"harvester_set","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":"6694e2ccbc71cc1e"}},{"code_sha256_prefix":"0d1d4f0a005a7547","entry":"negative_log_likelihood_mse","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/losses/nll.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/losses/nll.py","link_basis":"harvester_set","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":"0d1d4f0a005a7547"}},{"code_sha256_prefix":"0ce25394f9a9d587","entry":"negative_log_likelihood_nats","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/losses/nll.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/losses/nll.py","link_basis":"harvester_set","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":"0ce25394f9a9d587"}},{"code_sha256_prefix":"296a63ad389bce82","entry":"nll_2_bpd","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/losses.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/losses.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":"296a63ad389bce82"}},{"code_sha256_prefix":"36a600d9e04a706d","entry":"nll_loss","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/stopping.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/stopping.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":"36a600d9e04a706d"}},{"code_sha256_prefix":"674424cf743e0c7a","entry":"plot_2d_joint","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/viz/bivariate.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/viz/bivariate.py","link_basis":"harvester_set","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":"674424cf743e0c7a"}},{"code_sha256_prefix":"024690e22033fced","entry":"plot_2d_joint_probs","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/viz/bivariate.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/viz/bivariate.py","link_basis":"harvester_set","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":"024690e22033fced"}},{"code_sha256_prefix":"9c80db9b624b5c3a","entry":"reverse_dataclass_params","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/utils.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/utils.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":"9c80db9b624b5c3a"}},{"code_sha256_prefix":"105717a22f1e0c02","entry":"safe_log","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/utils.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/utils.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":"105717a22f1e0c02"}},{"code_sha256_prefix":"20bd2735a605c5b4","entry":"train_model","repo":"IPL-UV/rbig_jax","repo_kind":"listed","path":"rbig_jax/training_old.py","file_url":"https://github.com/IPL-UV/rbig_jax/blob/HEAD/rbig_jax/training_old.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":"20bd2735a605c5b4"}},{"code_sha256_prefix":"02b9eaf38b243876","entry":"update_args_yaml","repo":"IPL-UV/gaussflow","repo_kind":"listed","path":"src/experiments/utils.py","file_url":"https://github.com/IPL-UV/gaussflow/blob/HEAD/src/experiments/utils.py","link_basis":"harvester_set","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":"02b9eaf38b243876"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}