{"id":19199821,"url":"https://github.com/rose-stl-lab/laligan","last_synced_at":"2025-05-09T01:25:16.264Z","repository":{"id":248774795,"uuid":"819097243","full_name":"Rose-STL-Lab/LaLiGAN","owner":"Rose-STL-Lab","description":"Latent Space Symmetry Discovery.","archived":false,"fork":false,"pushed_at":"2024-08-12T23:58:15.000Z","size":401,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T11:31:58.274Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rose-STL-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-23T19:11:47.000Z","updated_at":"2024-08-12T23:58:18.000Z","dependencies_parsed_at":"2024-11-09T12:29:48.146Z","dependency_job_id":"24b7af2b-2b18-4bee-91f4-8ee4cd9dfa12","html_url":"https://github.com/Rose-STL-Lab/LaLiGAN","commit_stats":null,"previous_names":["rose-stl-lab/laligan"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FLaLiGAN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FLaLiGAN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FLaLiGAN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FLaLiGAN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rose-STL-Lab","download_url":"https://codeload.github.com/Rose-STL-Lab/LaLiGAN/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253172833,"owners_count":21865568,"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-11-09T12:29:06.610Z","updated_at":"2025-05-09T01:25:16.219Z","avatar_url":"https://github.com/Rose-STL-Lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Latent Space Symmetry Discovery (LaLiGAN)\n\nCode for our ICML 2024 paper, [Latent Space Symmetry Discovery](https://arxiv.org/pdf/2310.00105).\n\n![LaLiGAN](figure.png)\n\n## Setup the Environment\n\n```\nconda create -n laligan python=3.9\nconda deactivate\nconda activate laligan\n\npip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118\npip3 install scipy==1.10.1\npip3 install tqdm==4.64.1\n\ncd src\n```\n\n## Setup Datasets\n\n### Reaction-Diffusion System\nThe system is simulated with the Matlab scripts provided in [SINDy Autoencoders](https://github.com/kpchamp/SindyAutoencoders/tree/master/rd_solver).\n\nRunning the script `reaction_diffusion.m` should produce the data file `reaction_diffusion.mat`. Then, place it under `./data` in this repository.\n\nAlternatively, download the data from [this link](https://drive.google.com/file/d/1N-oV4wGCBo6TxUX8VuUhWiAlVvuUokaj/view?usp=sharing).\n\n### Rotating Object\nGenerate the renderings of a bookshelf with different orientations:\n```\npython data_utils/rot_obj.py --num_samples 10000 --name train\npython data_utils/rot_obj.py --num_samples 100 --name val\npython data_utils/rot_obj.py --num_samples 100 --name test\n```\n\n## Experiments\n\n### Reaction-Diffusion System\nLaLiGAN Symmetry discovery in 2D latent space:\n```\npython main.py --config rd\n```\nLaLiGAN Symmetry discovery in 3D latent space:\n```\npython main.py --config rd_3d\n```\nSINDy equation discovery in the LaLiGAN 2D latent space:\n```\npython main_sindy.py --config rd_sindy\n```\nSINDy equation discovery in the LaLiGAN 3D latent space:\n```\npython main_sindy.py --config rd_sindy_3d\n```\nSINDy Autoencoder equation discovery in the 3D latent space:\n```\npython main.py --config rd_sindyonly\n```\n\n### Nonlinear Pendulum\nLaLiGAN Symmetry discovery for nonlinear pendulum:\n```\npython main.py --config pendulum\n```\n(Baseline) LieGAN symmetry discovery for nonlinear pendulum:\n```\npython main.py --config pendulum_liegan\n```\nSINDy equation discovery in the LaLiGAN latent space:\n```\npython main_sindy.py --config pendulum_sindy\n```\nSINDy Autoencoder equation discovery:\n```\npython main.py --config pendulum_sindyae\n```\nSINDy equation discovery w/o autoencoder:\n```\npython main.py --config pendulum_sindyonly\n```\n\n### Lotka-Volterra Equations\nLaLiGAN Symmetry discovery for Lotka-Volterra system:\n```\npython main.py --config lv\n```\n(Baseline) LieGAN symmetry discovery Lotka-Volterra system:\n```\npython main.py --config lv_liegan\n```\nSINDy equation discovery in the LaLiGAN latent space:\n```\npython main_sindy.py --config lv_sindy\n```\nSINDy Autoencoder equation discovery:\n```\npython main.py --config lv_sindyae\n```\nSINDy equation discovery w/o autoencoder:\n```\npython main.py --config lv_sindyonly\n```\n\n### Double Bump World\nLearning $\\mathrm{SO}(2) \\times \\mathrm{SO}(2)$ equivariant representation:\n```\npython main.py --config double_bump\n```\n\n### Rotating Object\nLearning $\\mathrm{SO}(3)$ equivariant representation:\n```\npython main.py --config rs\n```\n\n## Cite\n```\n\n@inproceedings{yang24latent,\n  title     =  {Latent Space Symmetry Discovery},\n  author    =  {Yang, Jianke and Dehmamy, Nima and Walters, Robin and Yu, Rose},\n  booktitle =  {Proceedings of the 41st International Conference on Machine Learning},\n  pages     =  {56047--56070},\n  year      =  {2024},\n  volume    =  {235},\n  series    =  {Proceedings of Machine Learning Research},\n  publisher =  {PMLR},\n  url       =  {https://proceedings.mlr.press/v235/yang24g.html},\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frose-stl-lab%2Flaligan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frose-stl-lab%2Flaligan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frose-stl-lab%2Flaligan/lists"}