{"id":13784246,"url":"https://github.com/AWehenkel/Graphical-Normalizing-Flows","last_synced_at":"2025-05-11T19:32:33.668Z","repository":{"id":53528358,"uuid":"238182329","full_name":"AWehenkel/Graphical-Normalizing-Flows","owner":"AWehenkel","description":"Combining smooth constraint for building DAG with normalizing flow in order to replace autoregressive transformations while keeping tractable Jacobian.","archived":false,"fork":false,"pushed_at":"2023-09-21T13:22:05.000Z","size":537,"stargazers_count":45,"open_issues_count":3,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T23:51:25.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AWehenkel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-04T10:43:35.000Z","updated_at":"2025-02-01T19:10:39.000Z","dependencies_parsed_at":"2024-01-17T02:15:56.430Z","dependency_job_id":"814dd1ff-1542-471c-ac4d-7f2967474967","html_url":"https://github.com/AWehenkel/Graphical-Normalizing-Flows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AWehenkel%2FGraphical-Normalizing-Flows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AWehenkel%2FGraphical-Normalizing-Flows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AWehenkel%2FGraphical-Normalizing-Flows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AWehenkel%2FGraphical-Normalizing-Flows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AWehenkel","download_url":"https://codeload.github.com/AWehenkel/Graphical-Normalizing-Flows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253621267,"owners_count":21937497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T19:00:38.281Z","updated_at":"2025-05-11T19:32:33.176Z","avatar_url":"https://github.com/AWehenkel.png","language":"Python","funding_links":[],"categories":["Python","🧑‍💻 Repos \u003csmall\u003e(18)\u003c/small\u003e"],"sub_categories":["\u003cimg src=\"assets/pytorch.svg\" alt=\"PyTorch\" height=\"20px\"\u003e \u0026nbsp;PyTorch Repos"],"readme":"# Graphical Normalizing Flows\nOffical codes and experiments for the paper: \n\u003e Graphical Normalizing Flows,  Antoine Wehenkel and Gilles Louppe.  (May 2020).\n\u003e [[arxiv]](https://arxiv.org/abs/2006.02548)\n# Dependencies\nThe list of dependencies can be found in requirements.txt text file and installed with the following command:\n```bash\npip install -r requirements.txt\n```\n# Code architecture\nThis repository provides some code to build diverse types normalizing flow models in PyTorch. The core components are located in the **models** folder. The different flow models are described in the file **NormalizingFlow.py** and they all follow the structure of the parent **class NormalizingFlow**.\nA flow step is usually designed as a combination of a **normalizer** (such as the ones described in Normalizers sub-folder) with a **conditioner** (such as the ones described in Conditioners sub-folder). Following the code hierarchy provided makes the implementation of new conditioners, normalizers or even complete flow architecture very easy.\n# Paper's experiments\n## UCI Datasets\nYou first have to download the datasets with the following command:\n```bash\npython UCIdatasets/download_dataset.py \n```\nThen you can run the experiment of your choice with the following command:\n```bash\npython UCIExperiments.py -load_config \u003cexp-name\u003e\n```\nwhere \u003cexp-name\u003e defines the experimental configuration loaded from *UCIExperimentsConfigurations.yml* file, e.g. *power-mono-DAG*.\nSee also UCIExperiments.py for other optional arguments.\n## MNIST \n### Affine Normalizers\n##### Graphical  Conditioner\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Affine -conditioner DAG -nb_flow 1 -nb_steps_dual 10 -l1 0. -prior_A_kernel 2\n```\n##### Autoregressive  Conditioner\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Affine -conditioner Autoregressive -nb_flow 1 -emb_net 1024 1024 1024 2\n```\n##### Coupling  Conditioner\n\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Affine -conditioner Coupling -nb_flow 1 -emb_net 1024 1024 1024 2\n```\n### Monotonic Normalizers\n##### Graphical  Conditioner\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Monotonic -conditioner DAG -nb_flow 1 -nb_steps_dual 10 -l1 0. -prior_A_kernel 2\n```\n##### Autoregressive  Conditioner\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Monotonic -conditioner Autoregressive -nb_flow 1 -emb_net 1024 1024 1024 30\n```\n##### Coupling  Conditioner\n\n```bash\npython ImageExperiments.py -dataset MNIST -b_size 100 -normalizer Monotonic -conditioner Coupling -nb_flow 1 -emb_net 1024 1024 1024 30\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAWehenkel%2FGraphical-Normalizing-Flows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAWehenkel%2FGraphical-Normalizing-Flows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAWehenkel%2FGraphical-Normalizing-Flows/lists"}