Split-flows provide a probabilistic bridge between molecular resolutions, enabling conditional backmapping and direct measurement of the configuration-dependent (local) information loss.
Clone the repository and navigate to the project directory:
git clone git@github.com:hummerichsander/split-flows.git
cd split-flowsTo install the project dependencies use uv (if you have not installed uv yet, check out the uv documentation) and run:
uv syncModel training can be done using the hydrantic package, which bundles pytorch-lightning, hydra, and pydantic for model specification and training.
To let hydrantic know about the location of the configuration files you can set the environment variable HYDRANTIC_CONFIG_PATH to the path of the config directory.
Training a model can be done using the hydrantic command line interface. To train a model for alanine dipeptide (ala2.yml) run:
python -m hydrantic.cli.fit --config-name ala2Weights and hyperparameters are stored as checkpoints (.ckpt files). To instantiate a model from a checkpoint, use the load_from_checkpoint method of the Model class:
from split_flows.models import SplitFlow
model = SplitFlow.load_from_checkpoint(<checkpoint path>)If you use split-flows in your research, please cite:
@misc{hummerich2025splitflowsmeasuretransportinformation,
title={Split-Flows: Measure Transport and Information Loss Across Molecular Resolutions},
author={Sander Hummerich and Tristan Bereau and Ullrich Köthe},
year={2025},
eprint={2511.01464},
archivePrefix={arXiv},
primaryClass={physics.chem-ph},
url={https://arxiv.org/abs/2511.01464},
}