# LitMatter
A template for rapid experimentation and scaling deep learning models on molecular and crystal graphs.
## How to use
1. Clone this repository and start editing, or save it and use it as a template for new projects.
2. Edit `lit_models/models.py` with the PyTorch code for your model of interest.
3. Edit `lit_data/data.py` to load and process your PyTorch datasets.
4. Perform interactive experiments in `prototyping.py`.
5. Scale network training to any number of GPUs using the example batch scripts.
## Principles
LitMatter uses [PyTorch Lightning](https://zenodo.org/record/3828935#.YSP51x0pC-F) to organize PyTorch code so scientists can rapidly experiment with geometric deep learning and scale up to hundreds of GPUs without difficulty. Many amazing applied ML methods (even those with open-source code) are never used by the wider community because the important details are buried in hundreds of lines of boilerplate code. It may require a significant engineering effort to get the method working on a new dataset and in a different computing environment, and it can be hard to justify this effort before verifying that the method will provide some advantage. Packaging your code with the LitMatter template makes it easy for other researchers to experiment with your models and scale them beyond common benchmark datasets.
## Features
* Maximum flexibility. LitMatter supports arbitrary PyTorch models and dataloaders.
* Eliminate boilerplate. Engineering code is abstracted away, but still accessible if needed.
* Full end-to-end pipeline. Data processing, model construction, training, and inference can be launched from the command line, in a Jupyter notebook, or through a SLURM job.
* Lightweight. Using the template is *easier* than not using it; it reduces infrastructure overhead for simple and complex deep learning projects.
## Examples
The example notebooks show how to use LitMatter to scale model training for different applications.
* [Prototyping GNNs](./prototyping.ipynb) - train an equivariant graph neural network to predict quantum properties of small molecules.
* [Neural Force Fields](./LitNFFs.ipynb) - train a neural force field on molecular dynamics trajectories of small molecules.
* [DeepChem](./LitDeepChem.ipynb) - train a PyTorch model in DeepChem on a MoleculeNet dataset.
* [ð¤](./LitHF.ipynb) - train a ð¤ language model to generate molecules.
Note that these examples have additional dependencies beyond the core depdencies of LitMatter.
## References
If you use LitMatter for your own research and scaling experiments, please cite the following work:
[Frey, Nathan C., et al. "Scalable Geometric Deep Learning on Molecular Graphs." NeurIPS 2021 AI for Science Workshop. 2021.](https://arxiv.org/abs/2112.03364)
```
@inproceedings{frey2021scalable,
title={Scalable Geometric Deep Learning on Molecular Graphs},
author={Frey, Nathan C and Samsi, Siddharth and McDonald, Joseph and Li, Lin and Coley, Connor W and Gadepally, Vijay},
booktitle={NeurIPS 2021 AI for Science Workshop},
year={2021}
}
```
Please also cite the relevant frameworks: [PyG](https://arxiv.org/abs/1903.02428), [PyTorch Distributed](https://arxiv.org/abs/2006.15704), [PyTorch Lightning](https://github.com/PyTorchLightning/pytorch-lightning),
and any extensions you use:
[ð¤](https://arxiv.org/abs/1910.03771), [DeepChem](https://github.com/deepchem/deepchem#citing-deepchem), [NFFs](https://github.com/learningmatter-mit/NeuralForceField#references), etc.
## Extensions
When you're ready to upgrade to fully configurable, reproducible, and scalable workflows, use [hydra-zen](https://github.com/mit-ll-responsible-ai/hydra-zen). hydra-zen [integrates seamlessly](https://mit-ll-responsible-ai.github.io/hydra-zen/how_to/pytorch_lightning.html) with LitMatter to self-document ML experiments and orchestrate multiple training runs for extensive hyperparameter sweeps.
## Environment
Version management in Python is never fun and deep learning dependencies are always changing, but here are the latest tested versions of key dependencies for *LitMatter*
* Python 3.8
* Pytorch Lightning 1.5.1
* Pytorch 1.10.0
## Disclaimer
DISTRIBUTION STATEMENT A. Approved for public release. Distribution is unlimited.
© 2021 MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Subject to FAR 52.227-11 â Patent Rights â Ownership by the Contractor (May 2014)
SPDX-License-Identifier: MIT
This material is based upon work supported by the Under Secretary of Defense for Research and Engineering under Air Force Contract No. FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Under Secretary of Defense for Research and Engineering.
The software/firmware is provided to you on an As-Is basis.

热爱技术。
- 粉丝: 3089
- 资源: 7985
最新资源
- 基于PyTorch的MOPSO算法:引导种群逼近Pareto前沿的粒子群优化方法程序研究与应用,基于PyTorch的多目标粒子群算法:MOPSO实现及逼近真实Pareto前沿的种群优化策略,基于pyt
- 车机(飞思卡尔芯片) 系统签名(app公签)
- 如何正确使用deepseek?99%的人都错了.zip
- 基于双边LCC移相控制的无线电能传输系统与PI及MPC模型预测控制实现输出电压恒定,双边LCC移相控制与无线电能传输技术的融合:实现恒定电压PI控制与MPC模型预测控制,双边LCC移相控制,pi控制输
- 零基础使用DeepSeek高效提问技巧.zip
- Multisim仿真工具在模拟电路设计中的首次应用:运算放大器电路构建与测试
- 车机公签,方易通9853 apk签名
- 1000个DeepSeek神级提示词,让你轻松驾驭AI赶紧收藏.zip
- MATLAB代码在线实现:基于最小二乘法的锂电池一阶RC模型参数快速辨识法,基于最小二乘法的锂电池一阶RC模型参数在线辨识MATLAB代码实现,采用最小二乘法在线辨识锂电池一阶RC模型参数的MATLA
- 3个DeepSeek隐藏玩法,99%的人都不知道!.zip
- 横向定标与逆合成孔径雷达ISAR成像的MATLAB仿真程序:精确两步交叉范围缩放法与散射点提取技术研究,**横纵探索:逆合成孔径雷达(ISAR)成像技术与信号处理的精准算法复现**,横向定标 地基逆合
- android安卓原生系统签名,app公签,车机公签
- SPSS workshop (data of construction)
- 全桥与半桥LLC谐振DC-DC变换器的设计与Simulink仿真,包括开环与电压闭环仿真及电路参数计算过程,全桥与半桥LLC谐振DC-DC变换器的设计与Simulink仿真,含开环与电压闭环仿真及电路
- 高速信号链设计中噪声源的影响及优化策略:噪声带宽与信噪比提高方法
- 基于FPGA的永磁同步伺服系统矢量控制设计:集成电流环、速度环与SVPWM模块,采用Verilog实现坐标变换与电机反馈接口,基于FPGA实现永磁同步伺服控制系统的矢量控制与电流环设计:Verilog
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


