🚀 The feature, motivation and pitch
PaiNN (Polarizable Atomistic Interaction Neural Network) is a staple for molecular property prediction and MD simulations, offering a superior speed-accuracy trade-off compared to SchNet or DimeNet++. TI is often used as an indsutry standard for benchmarking. While implementations exist in specialist libraries (TorchMD-NET, SchNetPack), a native PyG implementation would allow users to leverage PyG's native batching, torch.compile optimizations, and broader GNN utility suite.
Read paper here: https://arxiv.org/pdf/2102.03150
Proposed Implementation:
I have a functional implementation and would like to PR it to torch_geometric.nn.models. Key technical details I plan to include:
-
Equivariant Message Passing: Refactored to inherit from MessagePassing for scalar and vector feature streams.
-
Performance: Optimized radial basis computations and distance-dependent filters to minimize redundant calculations during inference.
-
Verification: Includes unit tests for rotation equivariance and translation invariance.
-
Compatibility: Designed to be compatible with torch.compile and JIT for high-throughput production environments.
Are there specific naming conventions for vector-valued features or preferences for handling directional unit vectors ($r_{ij} / ||r_{ij}||$) that I should align with?
Alternatives
No response
Additional context
No response
🚀 The feature, motivation and pitch
PaiNN (Polarizable Atomistic Interaction Neural Network) is a staple for molecular property prediction and MD simulations, offering a superior speed-accuracy trade-off compared to SchNet or DimeNet++. TI is often used as an indsutry standard for benchmarking. While implementations exist in specialist libraries (TorchMD-NET, SchNetPack), a native PyG implementation would allow users to leverage PyG's native batching, torch.compile optimizations, and broader GNN utility suite.
Read paper here: https://arxiv.org/pdf/2102.03150
Proposed Implementation:
I have a functional implementation and would like to PR it to torch_geometric.nn.models. Key technical details I plan to include:
Equivariant Message Passing: Refactored to inherit from MessagePassing for scalar and vector feature streams.
Performance: Optimized radial basis computations and distance-dependent filters to minimize redundant calculations during inference.
Verification: Includes unit tests for rotation equivariance and translation invariance.
Compatibility: Designed to be compatible with torch.compile and JIT for high-throughput production environments.
Are there specific naming conventions for vector-valued features or preferences for handling directional unit vectors ($r_{ij} / ||r_{ij}||$ ) that I should align with?
Alternatives
No response
Additional context
No response