fusilli


Namefusilli JSON
Version 1.2.3 PyPI version JSON
download
home_page
SummaryComparing multi-modal data fusion methods. Don't be silly, use Fusilli!
upload_time2024-02-01 12:27:40
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords multi-modal machine learning mri data fusion multi-view graph neural network attention vae
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

<img src="docs/_static/pink_pasta_logo.png" alt="drawing" width="200"/>

# fusilli

🌸 **Don't be silly, use fusilli for all your multi-modal data fusion needs!** 🌸

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10137292.svg)](https://doi.org/10.5281/zenodo.10137292)
[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white&style=flat)](https://twitter.com/florencetownend)
[![Documentation Status](https://readthedocs.org/projects/fusilli/badge/?version=latest)](https://fusilli.readthedocs.io/en/latest/?badge=latest)
[![version](https://img.shields.io/pypi/v/fusilli)](https://pypi.org/project/fusilli/)
[![downloads](https://img.shields.io/pypi/dm/fusilli)](https://pypi.org/project/fusilli/)

</div>

## Introduction

🍝 Welcome to `fusilli` 🍝, the ultimate library for multi-modal data fusion in machine learning! Fusilli makes data
fusion a piece of cake, providing a platform to combine different data types efficiently.

## What can Fusilli do?

Multi-modal data fusion is the combination of different types of data (or data modalities) in the pursuit of some common
goal. For example, using both blood test results and neuroimaging to predict whether somebody will develop a disease.
There are many different ways to combine data modalities, and the aim of `fusilli` is to provide a platform for
anybody to compare different methods against each other.

Fusilli is built using PyTorch Lightning and PyTorch Geometric, and it currently supports the following scenarios:

1. **Tabular-Tabular** **Fusion**: Combine two different types of tabular data.
2. **Tabular-Image** **Fusion**: Combine one type of tabular data with image data (2D or 3D).

Fusilli supports a range of prediction tasks, including **regression**, **binary classification**, and **multi-class
classification.**
Note that it does not currently support tasks such as clustering or segmentation.

Want to know more? Here is a link to [Read the Docs](https://fusilli.readthedocs.io/en/latest/)

## Installation

To savour the flavours of `fusilli`, you can install it using pip:

```
pip install fusilli
```

## Quick Start

Here is a quick example of how to use `fusilli` to train a regression model and plot the real values vs. predicted
values.

```
    from fusilli.data import prepare_fusion_data
    from fusilli.train import train_and_save_models
    from fusilli.eval import RealsVsPreds
    import matplotlib.pyplot as plt

    # Import the example fusion model
    from fusilli.fusionmodels.tabularfusion.example_model import ExampleModel

    data_paths = {
        "tabular1": "path/to/tabular_1.csv",  
        "tabular2": "path/to/tabular_2.csv",  
        "image": "path/to/image_file.pt",  
    }

    output_paths = {
        "checkpoints": "path/to/checkpoints/dir",  
        "losses": "path/to/losses/dir",  
        "figures": "path/to/figures/dir",  
    }

    # Get the data ready
    data_module = prepare_fusion_data(prediction_task="regression",
                                      fusion_model=ExampleModel,
                                      data_paths=data_paths,
                                      output_paths=output_paths)

    # Train the model
    trained_model = train_and_save_models(data_module=data_module,
                                          fusion_model=ExampleModel)

    # Evaluate the model by plotting the real values vs. predicted values
    RealsVsPreds_figure = RealsVsPreds.from_final_val_data(trained_model)
    plt.show()

```

## How to Cite

Florence Townend, Patrick J. Roddy, & Philipp Goebl. (2024). florencejt/fusilli: Fusilli v1.1.0 (v1.1.0).
Zenodo. https://doi.org/10.5281/zenodo.10463697

## Contribute!

If you've developed new fusion methods or want to enhance Fusilli, check our contribution guidelines to get started.
PyTorch templates and contribution guidance our in
the [contributions documentation](https://fusilli.readthedocs.io/en/latest/contributing_examples/).

## Authors and Acknowledgements

`fusilli` is authored by Florence J Townend, James Chapman, and James H Cole.

Florence J Townend is supported by a UCL UKRI Centre for Doctoral Training in AI-enabled Healthcare studentship (
EP/S021612/1).

## License

This project is licensed under AGPLv3. See the LICENSE file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "fusilli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "multi-modal,machine learning,MRI,data fusion,multi-view,graph neural network,attention,VAE",
    "author": "",
    "author_email": "Florence J Townend <f.j.townend@live.com>",
    "download_url": "https://files.pythonhosted.org/packages/c6/df/2eebf036dab743b08e71886cc555bb29841641c45992f2a6fe3c08176068/fusilli-1.2.3.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n<img src=\"docs/_static/pink_pasta_logo.png\" alt=\"drawing\" width=\"200\"/>\n\n# fusilli\n\n\ud83c\udf38 **Don't be silly, use fusilli for all your multi-modal data fusion needs!** \ud83c\udf38\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10137292.svg)](https://doi.org/10.5281/zenodo.10137292)\n[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white&style=flat)](https://twitter.com/florencetownend)\n[![Documentation Status](https://readthedocs.org/projects/fusilli/badge/?version=latest)](https://fusilli.readthedocs.io/en/latest/?badge=latest)\n[![version](https://img.shields.io/pypi/v/fusilli)](https://pypi.org/project/fusilli/)\n[![downloads](https://img.shields.io/pypi/dm/fusilli)](https://pypi.org/project/fusilli/)\n\n</div>\n\n## Introduction\n\n\ud83c\udf5d Welcome to `fusilli` \ud83c\udf5d, the ultimate library for multi-modal data fusion in machine learning! Fusilli makes data\nfusion a piece of cake, providing a platform to combine different data types efficiently.\n\n## What can Fusilli do?\n\nMulti-modal data fusion is the combination of different types of data (or data modalities) in the pursuit of some common\ngoal. For example, using both blood test results and neuroimaging to predict whether somebody will develop a disease.\nThere are many different ways to combine data modalities, and the aim of `fusilli` is to provide a platform for\nanybody to compare different methods against each other.\n\nFusilli is built using PyTorch Lightning and PyTorch Geometric, and it currently supports the following scenarios:\n\n1. **Tabular-Tabular** **Fusion**: Combine two different types of tabular data.\n2. **Tabular-Image** **Fusion**: Combine one type of tabular data with image data (2D or 3D).\n\nFusilli supports a range of prediction tasks, including **regression**, **binary classification**, and **multi-class\nclassification.**\nNote that it does not currently support tasks such as clustering or segmentation.\n\nWant to know more? Here is a link to [Read the Docs](https://fusilli.readthedocs.io/en/latest/)\n\n## Installation\n\nTo savour the flavours of `fusilli`, you can install it using pip:\n\n```\npip install fusilli\n```\n\n## Quick Start\n\nHere is a quick example of how to use `fusilli` to train a regression model and plot the real values vs. predicted\nvalues.\n\n```\n    from fusilli.data import prepare_fusion_data\n    from fusilli.train import train_and_save_models\n    from fusilli.eval import RealsVsPreds\n    import matplotlib.pyplot as plt\n\n    # Import the example fusion model\n    from fusilli.fusionmodels.tabularfusion.example_model import ExampleModel\n\n    data_paths = {\n        \"tabular1\": \"path/to/tabular_1.csv\",  \n        \"tabular2\": \"path/to/tabular_2.csv\",  \n        \"image\": \"path/to/image_file.pt\",  \n    }\n\n    output_paths = {\n        \"checkpoints\": \"path/to/checkpoints/dir\",  \n        \"losses\": \"path/to/losses/dir\",  \n        \"figures\": \"path/to/figures/dir\",  \n    }\n\n    # Get the data ready\n    data_module = prepare_fusion_data(prediction_task=\"regression\",\n                                      fusion_model=ExampleModel,\n                                      data_paths=data_paths,\n                                      output_paths=output_paths)\n\n    # Train the model\n    trained_model = train_and_save_models(data_module=data_module,\n                                          fusion_model=ExampleModel)\n\n    # Evaluate the model by plotting the real values vs. predicted values\n    RealsVsPreds_figure = RealsVsPreds.from_final_val_data(trained_model)\n    plt.show()\n\n```\n\n## How to Cite\n\nFlorence Townend, Patrick J. Roddy, & Philipp Goebl. (2024). florencejt/fusilli: Fusilli v1.1.0 (v1.1.0).\nZenodo. https://doi.org/10.5281/zenodo.10463697\n\n## Contribute!\n\nIf you've developed new fusion methods or want to enhance Fusilli, check our contribution guidelines to get started.\nPyTorch templates and contribution guidance our in\nthe [contributions documentation](https://fusilli.readthedocs.io/en/latest/contributing_examples/).\n\n## Authors and Acknowledgements\n\n`fusilli` is authored by Florence J Townend, James Chapman, and James H Cole.\n\nFlorence J Townend is supported by a UCL UKRI Centre for Doctoral Training in AI-enabled Healthcare studentship (\nEP/S021612/1).\n\n## License\n\nThis project is licensed under AGPLv3. See the LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Comparing multi-modal data fusion methods. Don't be silly, use Fusilli!",
    "version": "1.2.3",
    "project_urls": null,
    "split_keywords": [
        "multi-modal",
        "machine learning",
        "mri",
        "data fusion",
        "multi-view",
        "graph neural network",
        "attention",
        "vae"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39e1ef067f48f5d27e2f02001858061ee9c481877bacb95e29cd8a2e770c58b4",
                "md5": "e565e9eda277b7ff052bc2950febafef",
                "sha256": "613279aafc1f02ae3c38643ef6d51bccd92f8787a3f13b8b60f2b0016e4c547e"
            },
            "downloads": -1,
            "filename": "fusilli-1.2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e565e9eda277b7ff052bc2950febafef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 125864,
            "upload_time": "2024-02-01T12:27:38",
            "upload_time_iso_8601": "2024-02-01T12:27:38.321905Z",
            "url": "https://files.pythonhosted.org/packages/39/e1/ef067f48f5d27e2f02001858061ee9c481877bacb95e29cd8a2e770c58b4/fusilli-1.2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6df2eebf036dab743b08e71886cc555bb29841641c45992f2a6fe3c08176068",
                "md5": "81618630a41bd93f4bc1301c5e53f304",
                "sha256": "3e58a918b613505e6ed09e6f904d519480e35e047ccbdf6398f3760fd192d523"
            },
            "downloads": -1,
            "filename": "fusilli-1.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "81618630a41bd93f4bc1301c5e53f304",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 17988966,
            "upload_time": "2024-02-01T12:27:40",
            "upload_time_iso_8601": "2024-02-01T12:27:40.500989Z",
            "url": "https://files.pythonhosted.org/packages/c6/df/2eebf036dab743b08e71886cc555bb29841641c45992f2a6fe3c08176068/fusilli-1.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-01 12:27:40",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "fusilli"
}
        
Elapsed time: 0.17371s