escnn extends PyTorch with equivariant deep learning modules, addressing the limitations of traditional CNNs in handling transformations. escnn implements steerable CNNs equivariant to 2D and 3D isometries (translations, rotations, reflections), and equivariant MLPs. This library enables models to generalize over transformations, leading to improved data efficiency. It's a successor to the e2cnn library, which focused solely on planar isometries.
A key feature is the unification of various equivariant CNN types into a single framework. Dynamic type-checking ensures geometrically sound processing of feature fields. The library offers a flexible approach to defining feature spaces based on field types and multiplicities. The library is structured into four distinct subpackages for group theory, kernels, spaces, and neural network modules.
- Group Theory: Provides foundational concepts and representations for equivariant structures.
- Equivariant Kernels: Implements generalizable convolutional mappings between feature spaces.
- Geometric Spaces: Defines transformation laws and handles geometric constraints.
- Neural Network Modules: Offers equivariant operations for constructing deep networks.
- Flexibility: Supports various field types (scalar & vector) and multiplicities.
- Comprehensive Equivariance: Covers rotations, reflections, and generalizes to arbitrary isometries.
- Modular Design: Organized into distinct subpackages for clarity and maintainability.
The project is actively maintained with recent commits and ongoing development. It includes extensive documentation, including tutorials and examples. The underlying theoretical framework is well-established, with publications in top-tier conferences like NeurIPS and ICLR. A fork exists for Jax compatibility, and the library provides detailed information on package version changes.
escnn benefits researchers and practitioners who need deep learning models robust to geometric transformations. It is valuable for applications involving feature fields like medical imaging, scientific computing, and robotics, where invariance to rotations and reflections is crucial. It offers an alternative to manual data augmentation or specialized architectures for handling such transformations.
