{"id":18852600,"url":"https://github.com/quva-lab/e2cnn_experiments","last_synced_at":"2025-04-14T10:11:27.814Z","repository":{"id":69447388,"uuid":"342542175","full_name":"QUVA-Lab/e2cnn_experiments","owner":"QUVA-Lab","description":"Experiment for General E(2)-Equivariant Steerable CNNs","archived":false,"fork":false,"pushed_at":"2021-02-26T10:39:04.000Z","size":64,"stargazers_count":30,"open_issues_count":1,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-27T23:23:52.897Z","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/QUVA-Lab.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-26T10:32:28.000Z","updated_at":"2025-02-24T07:41:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"467c4317-db7a-4fe4-8ddc-be476126a30b","html_url":"https://github.com/QUVA-Lab/e2cnn_experiments","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/QUVA-Lab%2Fe2cnn_experiments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QUVA-Lab%2Fe2cnn_experiments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QUVA-Lab%2Fe2cnn_experiments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QUVA-Lab%2Fe2cnn_experiments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QUVA-Lab","download_url":"https://codeload.github.com/QUVA-Lab/e2cnn_experiments/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860209,"owners_count":21173342,"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-08T03:40:41.536Z","updated_at":"2025-04-14T10:11:27.806Z","avatar_url":"https://github.com/QUVA-Lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Experiments for General E(2)-Equivariant Steerable CNNs\n--------------------------------------------------------------------------------\n**[Paper](https://arxiv.org/abs/1911.08251)** | **[Library](https://github.com/QUVA-Lab/e2cnn)** \n\n\n## Getting Started - Environment\n\n\nFirst, you can set up a Conda environment containing some packages required \n\n```\nconda create --name e2exp python=3.6\nsource activate e2exp\n\nconda install -y pytorch=1.3 torchvision cudatoolkit=10.0 -c pytorch\nconda install -y -c conda-forge matplotlib\nconda install -y scipy=1.5 pandas scikit-learn=0.23\nconda install -y -c anaconda sqlite\n```\n\nNow, we add the [e2cnn](https://github.com/QUVA-Lab/e2cnn) library.\nSince the environment has Python 3.6, we clone the [legacy_py3.6](https://github.com/QUVA-Lab/e2cnn/tree/legacy_py3.6)\nbranch.\n\nNOTE: make sure you are in the `./experiments/` folder before running the following commands.\n\n```\nmkdir tmp_e2cnn\ncd tmp_e2cnn\ngit clone --single-branch --branch legacy_py3.6 https://github.com/QUVA-Lab/e2cnn\nmv e2cnn/e2cnn ../e2cnn\ncd ..\nrm -rf tmp_e2cnn\n```\n\nIf you use Python 3.7 or higher, you can install the library just using\n```\npip install e2cnn\n```\n\nThese commands are already included in the file [setting_up_env.sh](./experiments/setting_up_env.sh), so you can also just run\n```\ncd experiments\n./setting_up_env.sh\n```\n\n## Getting Started - Datasets\n\nTo automatically download the MNIST variants datasets, you can run the following commands \n(assuming you are in the `./experiments/` folder):\n\n```\ncd datasets\n./download_mnist.sh\n\nsource activate e2exp\n\ncd mnist_rot\npython convert.py\n\ncd ../mnist_fliprot\npython convert.py\n\ncd ../mnist12k\npython convert.py\n\n```\n\n\n## Getting Started - Experiments\n\nAll the experiments can be run automatically through the following few scripts\n(assuming you are in the `./experiments/` folder).\n\n\nTo run all the model benchmarking experiments on transformed MNIST datasets:\n```\n./mnist_bench.sh\n```\n\nTo run the MNIST experiments with group restriction:\n```\n./mnist_restrict.sh\n```\n\nTo run the competitive MNIST experiments:\n```\n./mnist_final.sh\n```\n\nTo run the CIFAR10 and the CIFAR100 experiments:\n```\n./cifar_experiments.sh\n```\n\nTo run the experiments on the full STL10 dataset:\n```\n./stl10_experiments.sh\n```\n\nTo run the data ablation study on STL10\n```\n./stl10_ablation.sh\n```\n\nYou can find more details about the single experiments in each bash file.\n\n\nExperiments' logs and results are stored in a new `./results` folder.\nA summary of all experiments can be printed with the `print_results.py` script.\n\n\n## Cite\n\nThe development of the library and the experiments was part of the work done for our paper\n[General E(2)-Equivariant Steerable CNNs](https://arxiv.org/abs/1911.08251).\nPlease cite this work if you use our code:\n\n```\n@inproceedings{e3cnn,\n    title={{General E(2)-Equivariant Steerable CNNs}},\n    author={Weiler, Maurice and Cesa, Gabriele},\n    booktitle={Conference on Neural Information Processing Systems (NeurIPS)},\n    year={2019},\n}\n```\n\nFeel free to [contact us](mailto:cesa.gabriele@gmail.com,m.weiler@uva.nl).\n\n## License\n\nThis code and the *e2cnn* library are distributed under BSD Clear license. See LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquva-lab%2Fe2cnn_experiments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquva-lab%2Fe2cnn_experiments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquva-lab%2Fe2cnn_experiments/lists"}