e3nn

A modular framework for neural networks with Euclidean symmetry

https://github.com/e3nn/e3nn

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A modular framework for neural networks with Euclidean symmetry

Basic Info
  • Host: GitHub
  • Owner: e3nn
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 10.9 MB
Statistics
  • Stars: 1,072
  • Watchers: 18
  • Forks: 160
  • Open Issues: 32
  • Releases: 0
Created about 6 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Euclidean neural networks

Coverage Status DOI

Documentation | Code | CHANGELOG | Colab

The aim of this library is to help the development of E(3) equivariant neural networks. It contains fundamental mathematical operations such as tensor products and spherical harmonics.

```python import torch from e3nn import o3

Create a random array made of scalar (0e) and a vector (1o)

irrepsin = o3.Irreps("0e + 1o") x = irrepsin.randn(-1)

Apply a linear layer

irrepsout = o3.Irreps("2x0e + 2x1o") linear = o3.Linear(irrepsin=irrepsin, irrepsout=irreps_out) y = linear(x)

Compute a tensor product with itself

tp = o3.FullTensorProduct(irrepsin1=irrepsin, irrepsin2=irrepsin) z = tp(x, x)

Optionally compile the tensor product

tppt2 = torch.compile(tp, fullgraph=True) zpt2 = tppt2(x, x) # Warning: First few calls might be slow due to compilation torch.testing.assertclose(z, z_pt2) ```

Installation

Important: install pytorch and only then run the command

pip install --upgrade pip pip install --upgrade e3nn

For details and optional dependencies, see INSTALL.md

Breaking changes

e3nn is under development. It is recommended to install using pip. The main branch is considered as unstable. The second version number is incremented every time a breaking change is made to the code. 0.(increment when backwards incompatible release).(increment for backwards compatible release)

Help

We are happy to help! The best way to get help on e3nn is to submit a Question or Bug Report.

Want to get involved? Great!

If you want to get involved in and contribute to the development, improvement, and application of e3nn, introduce yourself in the discussions.

Code of conduct

Our community abides by the Contributor Covenant Code of Conduct.

Citing

If you use e3nn in your research, please cite the following papers:

Euclidean Neural Networks:

  • N. Thomas et al., "Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds" (2018). arXiv:1802.08219
  • M. Weiler et al., "3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data" (2018). arXiv:1807.02547
  • R. Kondor et al., "Clebsch-Gordan Nets: a Fully Fourier Space Spherical Convolutional Neural Network" (2018). arXiv:1806.09231

e3nn:

  • M. Geiger and T. Smidt, "e3nn: Euclidean Neural Networks" (2022). arXiv:2207.09453
  • M. Geiger et al., "Euclidean neural networks: e3nn" (2022). Zenodo

For BibTeX entries, please refer to the CITATION.bib file in this repository.

Copyright

Euclidean neural networks (e3nn) Copyright (c) 2020, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy), Ecole Polytechnique Federale de Lausanne (EPFL), Free University of Berlin and Kostiantyn Lapchevskyi. All rights reserved.

If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Intellectual Property Office at IPO@lbl.gov.

NOTICE. This Software was developed under funding from the U.S. Department of Energy and the U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, distribute copies to the public, prepare derivative works, and perform publicly and display publicly, and to permit others to do so.

Owner

  • Name: Euclidean Neural Networks
  • Login: e3nn
  • Kind: organization

Citation (CITATION.bib)

@misc{https://doi.org/10.48550/arxiv.2207.09453,
    doi = {10.48550/ARXIV.2207.09453},
    url = {https://arxiv.org/abs/2207.09453},
    author = {Geiger, Mario and Smidt, Tess},
    title = {e3nn: Euclidean Neural Networks},
    publisher = {arXiv},
    year = {2022},
    copyright = {Creative Commons Attribution 4.0 International}
}

@misc{thomas2018tensorfieldnetworks,
    title={Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds}, 
    author={Nathaniel Thomas and Tess Smidt and Steven Kearnes and Lusann Yang and Li Li and Kai Kohlhoff and Patrick Riley},
    year={2018},
    eprint={1802.08219},
    archivePrefix={arXiv},
    primaryClass={cs.LG},
    url={https://arxiv.org/abs/1802.08219}
}

@misc{weiler20183dsteerablecnns,
    title={3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data}, 
    author={Maurice Weiler and Mario Geiger and Max Welling and Wouter Boomsma and Taco Cohen},
    year={2018},
    eprint={1807.02547},
    archivePrefix={arXiv},
    primaryClass={cs.LG},
    url={https://arxiv.org/abs/1807.02547}
}

@misc{kondor2018clebschgordannets,
    title={Clebsch-Gordan Nets: a Fully Fourier Space Spherical Convolutional Neural Network}, 
    author={Risi Kondor and Zhen Lin and Shubhendu Trivedi},
    year={2018},
    eprint={1806.09231},
    archivePrefix={arXiv},
    primaryClass={stat.ML},
    url={https://arxiv.org/abs/1806.09231}
}

@software{e3nn_software,
    author = {Mario Geiger and
              Tess Smidt and
              Alby M. and
              Benjamin Kurt Miller and
              Wouter Boomsma and
              Bradley Dice and
              Kostiantyn Lapchevskyi and
              Maurice Weiler and
              Michał Tyszkiewicz and
              Simon Batzner and
              Dylan Madisetti and
              Martin Uhrin and
              Jes Frellsen and
              Nuri Jung and
              Sophia Sanborn and
              Mingjian Wen and
              Josh Rackers and
              Marcel Rød and
              Michael Bailey},
    title = {Euclidean neural networks: e3nn},
    month = apr,
    year = 2022,
    publisher = {Zenodo},
    version = {0.5.0},
    doi = {10.5281/zenodo.6459381},
    url = {https://doi.org/10.5281/zenodo.6459381}
}

GitHub Events

Total
  • Create event: 18
  • Issues event: 11
  • Release event: 13
  • Watch event: 157
  • Delete event: 9
  • Issue comment event: 44
  • Push event: 25
  • Pull request review event: 16
  • Pull request review comment event: 25
  • Pull request event: 50
  • Fork event: 25
Last Year
  • Create event: 18
  • Issues event: 11
  • Release event: 13
  • Watch event: 157
  • Delete event: 9
  • Issue comment event: 44
  • Push event: 25
  • Pull request review event: 16
  • Pull request review comment event: 25
  • Pull request event: 50
  • Fork event: 25

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 49
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 10
  • Total pull request authors: 12
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.73
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 25
  • Average time to close issues: 7 days
  • Average time to close pull requests: 9 days
  • Issue authors: 6
  • Pull request authors: 8
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.84
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jakobtroidl (1)
  • mitkotak (1)
  • smiles724 (1)
  • eszter137 (1)
  • skiyohara (1)
  • pfebrer (1)
  • YKQ98 (1)
  • FabianKTH (1)
  • emilannevelink (1)
  • QiaolinLu (1)
Pull Request Authors
  • mitkotak (32)
  • SauravMaheshkar (4)
  • Linux-cpp-lisp (3)
  • pfebrer (2)
  • eszter137 (1)
  • TaufeqRazakh (1)
  • bhedelius (1)
  • lyuwen (1)
  • KirillKulaev (1)
  • rmcconke (1)
  • changzhiai (1)
  • cw-tan (1)
Top Labels
Issue Labels
bug (7)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 336,047 last-month
  • Total docker downloads: 280
  • Total dependent packages: 12
  • Total dependent repositories: 120
  • Total versions: 33
  • Total maintainers: 2
pypi.org: e3nn

Equivariant convolutional neural networks for the group E(3) of 3 dimensional rotations, translations, and mirrors.

  • Versions: 33
  • Dependent Packages: 12
  • Dependent Repositories: 120
  • Downloads: 336,047 Last month
  • Docker Downloads: 280
Rankings
Downloads: 1.0%
Dependent repos count: 1.4%
Dependent packages count: 1.6%
Average: 1.7%
Docker downloads count: 2.8%
Maintainers (2)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ase *
  • autodocsumm *
  • ipykernel *
  • jupyter-sphinx *
  • myst-parser *
  • plotly *
  • sphinx *
  • sphinx-rtd-theme *
  • sympy *
  • torch ==1.11.0
  • torch-cluster *
  • torch-geometric *
  • torch-scatter *
  • torch-sparse *
  • torch-spline-conv *
setup.py pypi
  • opt_einsum_fx >=0.1.4
  • scipy *
  • sympy *
  • torch >=1.8.0
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite