lightning-toolbox


Namelightning-toolbox JSON
Version 0.0.35 PyPI version JSON
download
home_pagehttps://github.com/vahidzee/lightning-toolbox
SummaryA collection of utilities for PyTorch Lightning.
upload_time2024-06-26 23:01:58
maintainerNone
docs_urlNone
authorVahid Zehtab
requires_python>=3.8
licenseMIT
keywords artificial intelligence pytorch lightning objective functions regularization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LightningToolbox: A PyTorch Lightning Facilitator
<p align="center">
  <a href="#installation">Installation</a> •
  <a href="https://github.com/vahidzee/lightning-toolbox/tree/main/docs/">Docs</a> •
  <a href="#license">License</a>
</p>

<p align="center" markdown="1">
    <a href="https://badge.fury.io/py/lightning_toolbox"><img src="https://badge.fury.io/py/lightning_toolbox.svg" alt="PyPI version" height="18"></a>
</p>


Welcome to lightning-toolbox, a python package that offers a set of automation tools built on top of PyTorch Lightning. As a deep learning researcher, I found that PyTorch Lightning offloads a significant portion of redundant work. However, I still found myself spending a considerable amount of time on writing boilerplate code for datamodules, training/validation steps, logging, and specially for not so complicated costum training loops. This is why I created lightning-toolbox - to make it easier to focus on writing experiment-specific code rather than dealing with tedious setup tasks.

By passing your PyTorch model onto a generic `lightning.LightningModule` (`lightning_toolbox.TrainingModule`), lightning-toolbox automatically populates the objective function, optimizer step, and more. In addition, lightning-toolbox's generic `lightning.LightningDataModule` (`lightning_toolbox.DataModule`) can turn any PyTorch dataset, into a experiment-ready lightning data module, completing the cycle for writing lightning deep learning experiments.

Most of the functionality provided in this package is based on [dypy](https://github.com/vahidzee/dypy), which enables lazy evaluation of variables and runtime code injections. Although lightning-toolbox is currently in its early stages and mainly serves as a facilitator for my personal research projects, I believe it can be helpful for many others who deal with similar deep learning experiments. Therefore, I decided to open-source this project and continue to add on to it as I move further in my research.

As a disclaimer this package does not intend to solve field-specific problems and provides more generic facilitator codes that the official [lightning-bolts](https://lightning-bolts.readthedocs.io/en/latest/), that you can easily mold into your desired deep learning experiment.

## Installation

```bash
pip install lightning-toolbox
```
Lightning toolbox is tested on `lightning==1.9.0`, although there's no version restriction setup for this package, things might break down if the community decides to roll backward incompatible changes to the core Pytorch Lightning API (as they usually do).

## License

This project is licensed under the terms of the Apache 2.0 license. See [LICENSE](https://github.com/vahidzee/lightning-toolbox/tree/main/LICENSE) for more details.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/vahidzee/lightning-toolbox",
    "name": "lightning-toolbox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "artificial intelligence, pytorch lightning, objective functions, regularization",
    "author": "Vahid Zehtab",
    "author_email": "vahid@zehtab.me",
    "download_url": "https://files.pythonhosted.org/packages/9f/78/3767ade9a3a3c858d38024e6f86410937a5f6261d08544fd2fbf46496d96/lightning_toolbox-0.0.35.tar.gz",
    "platform": null,
    "description": "# LightningToolbox: A PyTorch Lightning Facilitator\n<p align=\"center\">\n  <a href=\"#installation\">Installation</a> \u2022\n  <a href=\"https://github.com/vahidzee/lightning-toolbox/tree/main/docs/\">Docs</a> \u2022\n  <a href=\"#license\">License</a>\n</p>\n\n<p align=\"center\" markdown=\"1\">\n    <a href=\"https://badge.fury.io/py/lightning_toolbox\"><img src=\"https://badge.fury.io/py/lightning_toolbox.svg\" alt=\"PyPI version\" height=\"18\"></a>\n</p>\n\n\nWelcome to lightning-toolbox, a python package that offers a set of automation tools built on top of PyTorch Lightning. As a deep learning researcher, I found that PyTorch Lightning offloads a significant portion of redundant work. However, I still found myself spending a considerable amount of time on writing boilerplate code for datamodules, training/validation steps, logging, and specially for not so complicated costum training loops. This is why I created lightning-toolbox - to make it easier to focus on writing experiment-specific code rather than dealing with tedious setup tasks.\n\nBy passing your PyTorch model onto a generic `lightning.LightningModule` (`lightning_toolbox.TrainingModule`), lightning-toolbox automatically populates the objective function, optimizer step, and more. In addition, lightning-toolbox's generic `lightning.LightningDataModule` (`lightning_toolbox.DataModule`) can turn any PyTorch dataset, into a experiment-ready lightning data module, completing the cycle for writing lightning deep learning experiments.\n\nMost of the functionality provided in this package is based on [dypy](https://github.com/vahidzee/dypy), which enables lazy evaluation of variables and runtime code injections. Although lightning-toolbox is currently in its early stages and mainly serves as a facilitator for my personal research projects, I believe it can be helpful for many others who deal with similar deep learning experiments. Therefore, I decided to open-source this project and continue to add on to it as I move further in my research.\n\nAs a disclaimer this package does not intend to solve field-specific problems and provides more generic facilitator codes that the official [lightning-bolts](https://lightning-bolts.readthedocs.io/en/latest/), that you can easily mold into your desired deep learning experiment.\n\n## Installation\n\n```bash\npip install lightning-toolbox\n```\nLightning toolbox is tested on `lightning==1.9.0`, although there's no version restriction setup for this package, things might break down if the community decides to roll backward incompatible changes to the core Pytorch Lightning API (as they usually do).\n\n## License\n\nThis project is licensed under the terms of the Apache 2.0 license. See [LICENSE](https://github.com/vahidzee/lightning-toolbox/tree/main/LICENSE) for more details.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A collection of utilities for PyTorch Lightning.",
    "version": "0.0.35",
    "project_urls": {
        "Homepage": "https://github.com/vahidzee/lightning-toolbox"
    },
    "split_keywords": [
        "artificial intelligence",
        " pytorch lightning",
        " objective functions",
        " regularization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d7cc36af7e2778dc27a5c1076d6c1a625e5924890005ef02b1d41346579cef2",
                "md5": "de6330504d790991882938c4cb5ebc29",
                "sha256": "90c19173dfe5572f46dc5b666678b2e93a9e3c16af0b8f29f83a726d540ac2d9"
            },
            "downloads": -1,
            "filename": "lightning_toolbox-0.0.35-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "de6330504d790991882938c4cb5ebc29",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 46526,
            "upload_time": "2024-06-26T23:01:56",
            "upload_time_iso_8601": "2024-06-26T23:01:56.146262Z",
            "url": "https://files.pythonhosted.org/packages/7d/7c/c36af7e2778dc27a5c1076d6c1a625e5924890005ef02b1d41346579cef2/lightning_toolbox-0.0.35-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f783767ade9a3a3c858d38024e6f86410937a5f6261d08544fd2fbf46496d96",
                "md5": "4a58e4c25b12928f53486ee9c298a839",
                "sha256": "f698ffeb9685a89cdfbbef78d4bbec7b4cb13dacaea78ba66ec0e11278a0f140"
            },
            "downloads": -1,
            "filename": "lightning_toolbox-0.0.35.tar.gz",
            "has_sig": false,
            "md5_digest": "4a58e4c25b12928f53486ee9c298a839",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 32843,
            "upload_time": "2024-06-26T23:01:58",
            "upload_time_iso_8601": "2024-06-26T23:01:58.175102Z",
            "url": "https://files.pythonhosted.org/packages/9f/78/3767ade9a3a3c858d38024e6f86410937a5f6261d08544fd2fbf46496d96/lightning_toolbox-0.0.35.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-26 23:01:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "vahidzee",
    "github_project": "lightning-toolbox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "lightning-toolbox"
}
        
Elapsed time: 0.65290s