e3nn

e3nn: a modular PyTorch framework for Euclidean neural networks

View My GitHub Profile

Welcome!
Getting Started
    How to use the Resources
    Installation
Resources
    Math that's good to know
    e3nn_tutorial
    e3nn_book
    Papers
    Previous Talks
    Poster
    Slack
    Recurring Meetings / Events
Calendar
e3nn Team

Welcome to e3nn!

This is the website for the e3nn repository
    https://github.com/e3nn/e3nn/

E(3) is the Euclidean group in dimension 3. That is the group of rotations, translations and mirror. e3nn is a pytorch library that aims to create E(3) equivariant neural networks.

Spherical Harmonics

Getting Started

How to use the Resources

If you’d like to generally learn what e3nn is and what it’s used for, check out some of previously recorded talks and skimming some of the papers. If you’d like to try out e3nn, the first step is to install it.

Once you have e3nn up and running, try out the Jupyter notebooks in e3nn_tutorial. This will give you a feel for the primary data types and classes in e3nn. You can also read e3nn_book in parallel and dive into more rigorous math resources. This reading will be helpful for parsing even the most techincal parts of the relevant papers.

If you want to talk to other folks using e3nn, you are most welcome to join our recurring monthly meetings which are shown in the e3nn calendar and our Slack.

We want to help eliminate any bottlenecks in making Euclidean equivariant neural networks and e3nn accessible to a broad audience, especially scientists whose primary expertise is not machine learning. If you have an application in mind but not sure how to structure a network around it or other questions not satisfied by this page’s resources, feel free to reach out to Tess (tsmidt at lbl gov).

Installation

Installing e3nn and dependencies if you are only going to use the cpu is straightforward. Things get a bit more complicated if you want to GPU. If you want to use GPUs with e3nn you need to:

The full instructions for installing e3nn can be found here and here.

Resources

Math that’s good to know

e3nn makes use of group theory and representation theory. You don’t need to be knowledgeable on these topics to start using e3nn but it might be useful to have some relevant resources handy. Some of our favorite resources are:

e3nn_tutorial

This link has our quick tutorial and this website / respository has many illustrative notebooks on how to use e3nn. If you run into an error while running these notebooks – please make a pull request!

e3nn_book [in progress]

We are currently in the progress of compiling a more user-friendly introduction to the core concepts used in e3nn. You can see the (very incomplete) draft of the book here.

Previous Talks

Some previous recorded talks on e3nn.

2020/09 Unintended Features of E(3)NNs, Workshop on Equivariance and Data Augmentation (video // slides), University of Pennsylvania, September 4, 2020

2020/09 Lecture on Symmetry and Equivariance in ML, Berkeley Lab Deep Learning School (video // slides), Berkeley Lab, September 3, 2020.

2020/07 Neural Networks with Euclidean Symmetry for Physical Sciences, 1st Workshop on Scientific-Driven Deep Learning (SciDL) (video // slides), July 1, 2020

2020/01 An autoencoder for discrete geometry, Applied Machine Learning Days – AI and the Molecular World (video), EPFL, January 27-28, 2020, Lausanne, Switzerland

2019/12 Euclidean Neural Networks for Emulating Ab Initio Calculations and Generating Atomic Geometries, eScience Institute Seminar (video), University of Washington, Seattle, WA

2019/09 Euclidean Neural Networks for Emulating Ab Initio Calculations and Generating Atomic Geometries, Workshop I: From Passive to Active: Generative and Reinforcement Learning with Physics, (video // slides), IPAM at UCLA, Los Angeles, CA

Poster

A poster overview of the e3nn framework.

Papers

(in reserve chronological order)

*indicates foundational paper in the development of Euclidean neural networks.

If there are any papers that you think should be on this list but are missing, please email Tess tsmidt at lbl gov with a citation and description that matches the examples above.

Slack

The e3nn developers and several collaborators discuss ideas and help each other out with projects via Slack. If you’d like to join the Slack, please send an email to Tess tsmidt at lbl gov.

Recurring Meetings / Events

e3nn has two recurring monthly meetings in addition to other events on our calendar.

Everyone is welcome to join these meetings – yes, that means you! The meeting links are in the calendar events show below. Feel free to reach out to Tess tsmidt at lbl gov to introduce yourself if you are new to joining the meetings.

Calendar

with Upcoming Tutorials / Meetings / Hackathons

e3nn Team

Core-development team

(aka the people answering pull-requests)

Collaborators and Contributors

  • Josh Rackers
  • Thomas Hardin
  • Simon Batzner
  • Boris Kozinsky
  • Eugene Kwan
  • Frank Noé
  • Claire West
  • Zhantao Chem
  • Nina Andrejevic
  • Mingda Li