This framework implements NEB (Henkelman and Jónsson, 2000) and AutoNEB (Kolsbjerg, Groves and Hammer, 2016) in PyTorch. It efficiently finds low energy paths between minima of arbitrary loss/energy functions.
This framework was developed to be applied to neural networks, but is truely generic to any (Auto)NEB+Python application. Several examples for neural network architectures are given.
The following neural network architecture are included:
- simple CNNs and MLPs,
- ResNets,
- DenseNets
They can be applied on MNIST, CIFAR10 and CIFAR100.
Setup your environment, e.g. using
conda install pyyaml
conda install pytorch torchvision -c pytorch
Optional, but recommended: Install tqdm
top geht progress bars while running:
conda install tqdm
Download/Clone the code using
git clone https://github.com/fdraxler/PyTorch-AutoNEB
cd PyTorch-AutoNEB
python main.py project_directory config_file
where project_directory
is the directory (need not exist) where the data should be stored.
config_file
should point to one of the .yaml
files in configs.
You can create new config files by editing an existing, such as configs/cifar10-resnet20.yaml
.
Install the torch_autoneb
package by running
python setup.py
in the root directory of this repository. You can then use it in Python via
import torch_autoneb
The final MSTs for analysis with Evaluate.ipynb can be found at this repository. As of now, it contains only a subset of systems. Open an issue to request more systems.