{ "info": { "author": "Nasim Rahaman", "author_email": "nasim.rahaman@iwr.uni-heidelberg.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=======\nInferno\n=======\n\n\n\n.. image:: https://img.shields.io/pypi/v/inferno.svg\n :target: https://pypi.python.org/pypi/pytorch-inferno\n\n.. image:: https://img.shields.io/travis/nasimrahaman/inferno.svg\n :target: https://travis-ci.org/nasimrahaman/inferno\n\n.. image:: https://readthedocs.org/projects/inferno-pytorch/badge/?version=latest\n :target: http://inferno-pytorch.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/nasimrahaman/inferno/shield.svg\n :target: https://pyup.io/repos/github/nasimrahaman/inferno/\n :alt: Updates\n\n\n\n.. image:: http://svgshare.com/i/2j7.svg\n\n\n\n\n\nInferno is a little library providing utilities and convenience functions/classes around \n`PyTorch `_. \nIt's a work-in-progress, but the first release is underway! \n\n\n\n* Free software: Apache Software License 2.0\n* Documentation: https://pytorch-inferno.readthedocs.io (Work in progress).\n\n\nFeatures\n--------\n\nCurrent features include: \n * a basic \n `Trainer class `_ \n to encapsulate the training boilerplate (iteration/epoch loops, validation and checkpoint creation),\n * a `graph API `_ for building models with complex architectures, powered by `networkx `_. \n * `easy data-parallelism `_ over multiple GPUs, \n * `a submodule `_ for `torch.nn.Module`-level parameter initialization,\n * `a submodule `_ for data preprocessing / transforms,\n * `support `_ for `Tensorboard `_ (best with atleast `tensorflow-cpu `_ installed)\n * `a callback API `_ to enable flexible interaction with the trainer,\n * `various utility layers `_ with more underway,\n * `a submodule `_ for volumetric datasets, and more!\n\n\n\n\n\n.. code:: python\n\n import torch.nn as nn\n from inferno.io.box.cifar10 import get_cifar10_loaders\n from inferno.trainers.basic import Trainer\n from inferno.trainers.callbacks.logging.tensorboard import TensorboardLogger\n from inferno.extensions.layers.convolutional import ConvELU2D\n from inferno.extensions.layers.reshape import Flatten\n\n # Fill these in:\n LOG_DIRECTORY = '...'\n SAVE_DIRECTORY = '...'\n DATASET_DIRECTORY = '...'\n DOWNLOAD_CIFAR = True\n USE_CUDA = True\n\n # Build torch model\n model = nn.Sequential(\n ConvELU2D(in_channels=3, out_channels=256, kernel_size=3),\n nn.MaxPool2d(kernel_size=2, stride=2),\n ConvELU2D(in_channels=256, out_channels=256, kernel_size=3),\n nn.MaxPool2d(kernel_size=2, stride=2),\n ConvELU2D(in_channels=256, out_channels=256, kernel_size=3),\n nn.MaxPool2d(kernel_size=2, stride=2),\n Flatten(),\n nn.Linear(in_features=(256 * 4 * 4), out_features=10),\n nn.Softmax()\n )\n\n # Load loaders\n train_loader, validate_loader = get_cifar10_loaders(DATASET_DIRECTORY,\n download=DOWNLOAD_CIFAR)\n\n # Build trainer\n trainer = Trainer(model) \\\n .build_criterion('CrossEntropyLoss') \\\n .build_metric('CategoricalError') \\\n .build_optimizer('Adam') \\\n .validate_every((2, 'epochs')) \\\n .save_every((5, 'epochs')) \\\n .save_to_directory(SAVE_DIRECTORY) \\\n .set_max_num_epochs(10) \\\n .build_logger(TensorboardLogger(log_scalars_every=(1, 'iteration'),\n log_images_every='never'), \n log_directory=LOG_DIRECTORY)\n\n # Bind loaders\n trainer \\\n .bind_loader('train', train_loader) \\\n .bind_loader('validate', validate_loader)\n\n if USE_CUDA:\n trainer.cuda()\n\n # Go!\n trainer.fit()\n\n\n\n\nTo visualize the training progress, navigate to `LOG_DIRECTORY` and fire up tensorboard with \n\n.. code:: bash\n\n $ tensorboard --logdir=${PWD} --port=6007\n\n\nand navigate to `localhost:6007` with your browser.\n\n\n\nFuture Features: \n------------------------\nPlanned features include: \n * a class to encapsulate Hogwild! training over multiple GPUs, \n * minimal shape inference with a dry-run,\n * proper packaging and documentation,\n * cutting-edge fresh-off-the-press implementations of what the future has in store. :)\n\n\n\nCredits\n---------\nAll contributors are listed here_. \n\n.. _here: https://pytorch-inferno.readthedocs.io/en/latest/authors.html\n\nThis packag was partially generated with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template + lots of work by Thorsten. \n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n\n=======\nHistory\n=======\n\n0.1.0 (2017-08-24)\n------------------\n\n* First early release on PyPI\n\n0.1.1 (2017-08-24)\n------------------\n\n* Version Increment\n \n0.1.2 (2017-08-24)\n------------------\n\n* Version Increment\n\n\n0.1.3 (2017-08-24)\n------------------\n\n* Updated Documentation\n\n0.1.4 (2017-08-24)\n------------------\n\n* travis auto-deployment on pypi\n\n\n0.1.5 (2017-08-24)\n------------------\n\n* travis changes to run unittest\n\n\n0.1.6 (2017-08-24)\n------------------\n\n* travis missing packages for unittesting\n* fixed inconsistent version numbers\n\n0.1.7 (2017-08-25)\n------------------\n\n* setup.py critical bugix in install procedure", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nasimrahaman/inferno", "keywords": "inferno pytorch torch deep learning cnn deep-pyromania", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "inferno-pytorch", "package_url": "https://pypi.org/project/inferno-pytorch/", "platform": "", "project_url": "https://pypi.org/project/inferno-pytorch/", "project_urls": { "Homepage": "https://github.com/nasimrahaman/inferno" }, "release_url": "https://pypi.org/project/inferno-pytorch/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Inferno is a little library providing utilities and convenience functions/classes around PyTorch.", "version": "0.1.7" }, "last_serial": 3128807, "releases": { "0.1.7": [ { "comment_text": "", "digests": { "md5": "be790148948125ccfe686fecfebacb9d", "sha256": "4ff7667e90be50b19d3c215c6f40666d9d527299d8f3d1cc739d99434894cc31" }, "downloads": -1, "filename": "inferno-pytorch-0.1.7.tar.gz", "has_sig": false, "md5_digest": "be790148948125ccfe686fecfebacb9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88288, "upload_time": "2017-08-28T11:20:30", "url": "https://files.pythonhosted.org/packages/5b/09/487465b22d0a2e3d1362708da1d207ec4f53727d39007aa97af8f638d92b/inferno-pytorch-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be790148948125ccfe686fecfebacb9d", "sha256": "4ff7667e90be50b19d3c215c6f40666d9d527299d8f3d1cc739d99434894cc31" }, "downloads": -1, "filename": "inferno-pytorch-0.1.7.tar.gz", "has_sig": false, "md5_digest": "be790148948125ccfe686fecfebacb9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88288, "upload_time": "2017-08-28T11:20:30", "url": "https://files.pythonhosted.org/packages/5b/09/487465b22d0a2e3d1362708da1d207ec4f53727d39007aa97af8f638d92b/inferno-pytorch-0.1.7.tar.gz" } ] }