franken


Namefranken JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryFranken fine-tuning scheme for ML potentials
upload_time2025-07-31 07:26:36
maintainerNone
docs_urlNone
authorGiacomo Meanti, Luigi Bonati, Pedro Juan Buigues Jorro
requires_python>=3.10
licenseNone
keywords franken molecular dynamics potentials
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Franken

[![Test status](https://github.com/CSML-IIT-UCL/franken/actions/workflows/CI.yaml/badge.svg)](https://github.com/CSML-IIT-UCL/franken/actions/workflows/CI.yaml)
[![Docs status](https://github.com/CSML-IIT-UCL/franken/actions/workflows/rtd.yaml/badge.svg)](https://franken.readthedocs.io/)


## Introduction

Franken is an open-source library that can be used to enhance the accuracy of atomistic foundation models. It can be used for molecular dynamics simulations, and has a focus on computational efficiency.

`franken` features include:
 - Supports fine-tuning for a variety of foundation models ([MACE](https://github.com/ACEsuit/mace), [SevenNet](https://github.com/MDIL-SNU/SevenNet), [SchNet](https://github.com/facebookresearch/fairchem))
 - Automatic [hyperparameter tuning](https://franken.readthedocs.io/notebooks/autotune.html) simplifies the adaptation procedure, for an out-of-the-box user experience.
 - Several random-feature approximations to common kernels (e.g. Gaussian, polynomial) are available to flexibly fine-tune any foundation model.
 - Support for running within [LAMMPS](https://www.lammps.org/) molecular dynamics, as well as with [ASE](https://wiki.fysik.dtu.dk/ase/).

<img src="/docs/_static/diagram_part1.png" alt="Franken diagram" width="1000px">

## Documentation

A full documentation including several examples is available: [https://franken.readthedocs.io/index.html](https://franken.readthedocs.io/index.html).

For a comprehensive description of the methods behind franken, have a look at [the paper](https://arxiv.org/abs/2505.05652).

## Install

To install the latest release of `franken`, you can simply do:

```bash
pip install franken
```

Several optional dependencies can be specified, to install packages required for certain operations:
 - `cuda` includes packages which speed up training on GPUs (note that `franken` will work on GPUs even without these dependencies thanks to pytorch).
 - `fairchem`, `mace`, `sevenn` install the necessary dependencies to use a specific backbone.
 - `docs` and `develop` are only needed if you wish to build the documentation, or work on extending the library.

They can be installed for example by running

```bash
pip install franken[mace,cuda]
```

For more details read the [relevant documentation page](https://franken.readthedocs.io/topics/installation.html)

## Quickstart

You can directly run `franken.autotune` to get started with the `franken` library. A quick example is to fine-tune MACE-MP0 on a high-level-of-theory water dataset:

```bash
franken.autotune \
    --dataset-name="water" --max-train-samples=8 \
    --l2-penalty="(-10, -5, 5, log)" \
    --force-weight="(0.01, 0.99, 5, linear)" \
    --seed=42 \
    --jac-chunk-size=64 \
    --run-dir="./results" \
    --backbone=mace --mace.path-or-id="MACE-L0" --mace.interaction-block=2 \
    --rf=gaussian --gaussian.num-rf=512 --gaussian.length-scale="[10.0, 15.0]"
```

For more details you can check out the [autotune tutorial](https://franken.readthedocs.io/notebooks/autotune.html) or the [getting started notebook](https://franken.readthedocs.io/notebooks/getting_started.html).


## Citing

If you find this library useful, please cite our work using the folowing bibtex entry:
```
@misc{novelli25franken,
    title={Fast and Fourier Features for Transfer Learning of Interatomic Potentials},
    author={Pietro Novelli and Giacomo Meanti and Pedro J. Buigues and Lorenzo Rosasco and Michele Parrinello and Massimiliano Pontil and Luigi Bonati},
    year={2025},
    eprint={2505.05652},
    archivePrefix={arXiv},
    url={https://arxiv.org/abs/2505.05652},
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "franken",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "franken, molecular dynamics, potentials",
    "author": "Giacomo Meanti, Luigi Bonati, Pedro Juan Buigues Jorro",
    "author_email": "Pietro Novelli <pietronvll@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/cb/d7/1289067ca5e014489ce6bff66a6289f179b1303aea44b8e2b93d846a9a92/franken-0.4.0.tar.gz",
    "platform": null,
    "description": "# Franken\n\n[![Test status](https://github.com/CSML-IIT-UCL/franken/actions/workflows/CI.yaml/badge.svg)](https://github.com/CSML-IIT-UCL/franken/actions/workflows/CI.yaml)\n[![Docs status](https://github.com/CSML-IIT-UCL/franken/actions/workflows/rtd.yaml/badge.svg)](https://franken.readthedocs.io/)\n\n\n## Introduction\n\nFranken is an open-source library that can be used to enhance the accuracy of atomistic foundation models. It can be used for molecular dynamics simulations, and has a focus on computational efficiency.\n\n`franken` features include:\n - Supports fine-tuning for a variety of foundation models ([MACE](https://github.com/ACEsuit/mace), [SevenNet](https://github.com/MDIL-SNU/SevenNet), [SchNet](https://github.com/facebookresearch/fairchem))\n - Automatic [hyperparameter tuning](https://franken.readthedocs.io/notebooks/autotune.html) simplifies the adaptation procedure, for an out-of-the-box user experience.\n - Several random-feature approximations to common kernels (e.g. Gaussian, polynomial) are available to flexibly fine-tune any foundation model.\n - Support for running within [LAMMPS](https://www.lammps.org/) molecular dynamics, as well as with [ASE](https://wiki.fysik.dtu.dk/ase/).\n\n<img src=\"/docs/_static/diagram_part1.png\" alt=\"Franken diagram\" width=\"1000px\">\n\n## Documentation\n\nA full documentation including several examples is available: [https://franken.readthedocs.io/index.html](https://franken.readthedocs.io/index.html).\n\nFor a comprehensive description of the methods behind franken, have a look at [the paper](https://arxiv.org/abs/2505.05652).\n\n## Install\n\nTo install the latest release of `franken`, you can simply do:\n\n```bash\npip install franken\n```\n\nSeveral optional dependencies can be specified, to install packages required for certain operations:\n - `cuda` includes packages which speed up training on GPUs (note that `franken` will work on GPUs even without these dependencies thanks to pytorch).\n - `fairchem`, `mace`, `sevenn` install the necessary dependencies to use a specific backbone.\n - `docs` and `develop` are only needed if you wish to build the documentation, or work on extending the library.\n\nThey can be installed for example by running\n\n```bash\npip install franken[mace,cuda]\n```\n\nFor more details read the [relevant documentation page](https://franken.readthedocs.io/topics/installation.html)\n\n## Quickstart\n\nYou can directly run `franken.autotune` to get started with the `franken` library. A quick example is to fine-tune MACE-MP0 on a high-level-of-theory water dataset:\n\n```bash\nfranken.autotune \\\n    --dataset-name=\"water\" --max-train-samples=8 \\\n    --l2-penalty=\"(-10, -5, 5, log)\" \\\n    --force-weight=\"(0.01, 0.99, 5, linear)\" \\\n    --seed=42 \\\n    --jac-chunk-size=64 \\\n    --run-dir=\"./results\" \\\n    --backbone=mace --mace.path-or-id=\"MACE-L0\" --mace.interaction-block=2 \\\n    --rf=gaussian --gaussian.num-rf=512 --gaussian.length-scale=\"[10.0, 15.0]\"\n```\n\nFor more details you can check out the [autotune tutorial](https://franken.readthedocs.io/notebooks/autotune.html) or the [getting started notebook](https://franken.readthedocs.io/notebooks/getting_started.html).\n\n\n## Citing\n\nIf you find this library useful, please cite our work using the folowing bibtex entry:\n```\n@misc{novelli25franken,\n    title={Fast and Fourier Features for Transfer Learning of Interatomic Potentials},\n    author={Pietro Novelli and Giacomo Meanti and Pedro J. Buigues and Lorenzo Rosasco and Michele Parrinello and Massimiliano Pontil and Luigi Bonati},\n    year={2025},\n    eprint={2505.05652},\n    archivePrefix={arXiv},\n    url={https://arxiv.org/abs/2505.05652},\n}\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Franken fine-tuning scheme for ML potentials",
    "version": "0.4.0",
    "project_urls": {
        "Documentation": "https://franken.readthedocs.io/",
        "Homepage": "https://franken.readthedocs.io/",
        "Repository": "https://github.com/CSML-IIT-UCL/franken"
    },
    "split_keywords": [
        "franken",
        " molecular dynamics",
        " potentials"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f2e910d9ce5ff82a8b5e78c433d26c642337fe4e46b784b951006c1aa05a4a5a",
                "md5": "19984bb24a28e2debb5b2789b5327a74",
                "sha256": "6b7dcb864ba04a3c4f4911793c9a334ef8146115c6a0a6af8f3e3000e5ab310b"
            },
            "downloads": -1,
            "filename": "franken-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "19984bb24a28e2debb5b2789b5327a74",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 115937,
            "upload_time": "2025-07-31T07:26:34",
            "upload_time_iso_8601": "2025-07-31T07:26:34.971750Z",
            "url": "https://files.pythonhosted.org/packages/f2/e9/10d9ce5ff82a8b5e78c433d26c642337fe4e46b784b951006c1aa05a4a5a/franken-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cbd71289067ca5e014489ce6bff66a6289f179b1303aea44b8e2b93d846a9a92",
                "md5": "5fe53320def79182088bc420ada66a06",
                "sha256": "5c275261080a9e603fd8d6dfdf0c752c497268c871aa740a37ef3b0bf9eca98e"
            },
            "downloads": -1,
            "filename": "franken-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5fe53320def79182088bc420ada66a06",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 108538,
            "upload_time": "2025-07-31T07:26:36",
            "upload_time_iso_8601": "2025-07-31T07:26:36.385035Z",
            "url": "https://files.pythonhosted.org/packages/cb/d7/1289067ca5e014489ce6bff66a6289f179b1303aea44b8e2b93d846a9a92/franken-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 07:26:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CSML-IIT-UCL",
    "github_project": "franken",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "franken"
}
        
Elapsed time: 0.53469s