Description
DimeNet and DimeNet++ represent a significant advancement in the field of molecular graph neural networks. The original DimeNet model, introduced in "Directional Message Passing for Molecular Graphs" (ICLR 2020), leverages directional information to improve message passing between atoms, leading to more accurate representations of molecular structures and properties. This approach enhances the model's ability to capture complex interactions within molecules.
DimeNet++, the successor model presented in "Fast and Uncertainty-Aware Directional Message Passing for Non-Equilibrium Molecules" (NeurIPS-W 2020), builds upon the foundation of DimeNet by introducing substantial improvements in speed and accuracy. It is reported to be up to 8 times faster and 10% more accurate than the original DimeNet, making it a more practical choice for large-scale molecular simulations and drug discovery applications. The implementation provided in this GitHub repository serves as the reference for both models.
The repository includes essential components for running and experimenting with these models. It features notebooks for training (`train.ipynb`) and prediction (`predict.ipynb`), allowing users to easily apply the models to their datasets. For users requiring cluster-based training, a script (`train_seml.py`) integrated with Sacred and SEML is also available. Furthermore, pre-trained models for both DimeNet++ and a TensorFlow 2.0 prototype are provided in the `pretrained` folder, facilitating quicker experimentation and deployment.
Key architectural details and implementation notes are available within the repository, including specific initialization strategies for output layers and discussions on potential issues or bugs. The project is implemented using Python with TensorFlow as the primary deep learning framework, supported by libraries such as NumPy, SciPy, SymPy, and TensorFlow Addons. The project also highlights other implementations in JAX & Haiku and PyTorch Geometric, indicating a vibrant research community around these models. The models are particularly relevant for researchers and developers in computational chemistry, materials science, and cheminformatics seeking to leverage deep learning for molecular property prediction and analysis.
DimeNet and DimeNet++ Highlights
Directional Message Passing for Molecular Graphs
DimeNet model architecture
DimeNet++ model architecture
Reference implementation
Training notebook included
Prediction notebook included
Cluster training script available
Pretrained models provided
TensorFlow 2.0 prototype available
Focus on energy and force predictions (via GemNet recommendation)
Uncertainty-aware predictions (DimeNet++)
Getting Started with DimeNet and DimeNet++
Access model: Clone the GitHub repository.
Set up environment: Install required Python packages (TensorFlow, NumPy, SciPy, SymPy, TensorFlow Addons).
Integrate via API: Utilize the provided notebooks or scripts for training and prediction.
Experiment with models: Load pre-trained models for faster iteration.
Adapt for cluster training: Use the `train_seml.py` script for distributed training.
Generate predictions: Use the `predict.ipynb` notebook with trained models.
DimeNet and DimeNet++'s Use Cases
- Molecular Property Prediction
- Drug Discovery
- Materials Science
- Cheminformatics Research
- Computational Chemistry






