{ "info": { "author": "Valentin Lievin", "author_email": "valentin.lievin@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Booster\n\nA lightweight library to ease the training and the debugging of deep neural networks with PyTorch. Data structures and paradigms.\n\n## Data Structures\n\n### Diagnostic\n\nA two level dictionary structure to store the model diagnostics. Compatible with Tensorboard datastructure.\n\nExample:\n\n```python\nfrom booster import Diagnostic\n\ndata = {\n'loss' : {'nll' : [45., 58.], 'kl': [22., 18.]},\n'info' : {'batch_size' : 16, 'runtime' : 0.01}\n}\n\ndiagnostic = Diagnostic(data)\n```\n\n### Aggregator\n\nA module to compute the running average of the diagnostics.\n\n```python\nfrom booster import Aggregator, Diagnostic\n\naggregator = Aggregator()\n...\naggregator.initialize()\nfor x in data_loader:\n data = optimization_step(model, data)\n aggregator.update(data)\n\nsummmary = aggregator.data # summary is an instance of Diagnostic\nsummmary = summary.to('cpu')\n```\n\nThe output is a Diagnostic object and can easily be logged to Tensorboard.\n\n```python\n# log to tensorboard\nwriter = SummaryWriter(log_dir=\"...\")\nsummary.log(writer, global_step)\n\n```\n\n## Evaluator\n\nThe Evaluator computes a forward pass through the model, the loss and additional Diagnostics.\n\n```python\nfrom booster.evaluation import Classification\nmodel = Classifier()\nevaluator = Classification(categories=10)\n\n# evaluate model\ndata = next(iter(loader))\nloss, diagnostics, output = evaluator(model, data)\n\n```\n\n## Pipeline: model + evaluator\n \nThe pipeline fuses the model forward pass with the evaluator and can be wrapped into a custom Dataparallel class that handles the diagnostics.\n\n```python\nfrom booster import Pipeline, DataParallelPipeline\n\n# fuse model + evaluator\npipeline = Pipeline(model, evaluator)\n\n# wrap as DataParallel\nparallel_pipeline = DataParallelPipeline(pipeline, device_ids=device_ids)\n\n# evaluate model on multiple devices and gather loss and diagnostics\ndata = next(iter(loader))\nloss, diagnostics, output = parallel_pipeline(data) \n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vlievin/booster-pytorch", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "booster-pytorch", "package_url": "https://pypi.org/project/booster-pytorch/", "platform": "", "project_url": "https://pypi.org/project/booster-pytorch/", "project_urls": { "Homepage": "https://github.com/vlievin/booster-pytorch" }, "release_url": "https://pypi.org/project/booster-pytorch/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "A lightweight library to ease the training and the debugging of deep neural networks with PyTorch. Data structures and paradigms.", "version": "0.0.2", "yanked": false, "yanked_reason": null }, "last_serial": 7534375, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a733190dc8e3f5c13fc80fbf776e1a83", "sha256": "8aefb907553abe188f68bb6e98f9302702c3ef475db6570d218b67a297c0a8d1" }, "downloads": -1, "filename": "booster-pytorch-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a733190dc8e3f5c13fc80fbf776e1a83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9284, "upload_time": "2019-10-30T10:03:21", "upload_time_iso_8601": "2019-10-30T10:03:21.930778Z", "url": "https://files.pythonhosted.org/packages/b1/cb/3c6fa9efe2ed9c997abd2507062193f42be9cb1d6ae89de9ec5e3bf100a3/booster-pytorch-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "8c42604367c2e01e9c43fa3e3029adad", "sha256": "b773b4afb42db509a8417157ee85c2af7f240ab09bec5e958a7ea69b601c1ff9" }, "downloads": -1, "filename": "booster-pytorch-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8c42604367c2e01e9c43fa3e3029adad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14205, "upload_time": "2020-06-22T14:02:58", "upload_time_iso_8601": "2020-06-22T14:02:58.208055Z", "url": "https://files.pythonhosted.org/packages/0d/96/4725f89b367c3649dac69af0de4ee2d230cd695d85038cae02d9d2cc039a/booster-pytorch-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c42604367c2e01e9c43fa3e3029adad", "sha256": "b773b4afb42db509a8417157ee85c2af7f240ab09bec5e958a7ea69b601c1ff9" }, "downloads": -1, "filename": "booster-pytorch-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8c42604367c2e01e9c43fa3e3029adad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14205, "upload_time": "2020-06-22T14:02:58", "upload_time_iso_8601": "2020-06-22T14:02:58.208055Z", "url": "https://files.pythonhosted.org/packages/0d/96/4725f89b367c3649dac69af0de4ee2d230cd695d85038cae02d9d2cc039a/booster-pytorch-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }