{ "info": { "author": "Tianyi Zhang, Zhiqiu Lin, Guandao Yang, Christopher De Sa", "author_email": "tz58@cornell.edu", "bugtrack_url": null, "classifiers": [], "description": "# QPyTorch\n\nQPyTorch is a low-precision arithmetic simulation package in\nPyTorch. It is designed to support researches on low-precision machine\nlearning, especially for researches in low-precision training. \n\nNotably, QPyTorch supports quantizing different numbers in the training process\nwith customized low-precision formats. This eases the process of investigating\ndifferent precision settings and developing new deep learning architectures. More\nconcretely, QPyTorch implements fused kernels for quantization and integrates\nsmoothly with existing PyTorch kernels (e.g. matrix multiplication, convolution). \n\nRecent researches can be reimplemented easily through QPyTorch. We offer an\nexample replication of [WAGE](https://arxiv.org/abs/1802.04680) in a downstream\nrepo [WAGE](https://github.com/Tiiiger/QPyTorch/blob/master/examples/WAGE). We also provide a list\nof working examples under [Examples](#examples).\n\n*Note*: QPyTorch relies on PyTorch functions for the underlying computation,\nsuch as matrix multiplication. This means that the actual computation is done in\nsingle precision. Therefore, QPyTorch is not intended to be used to study the\nnumerical behavior of different **accumulation** strategies.\n\n## Installation\n\nrequirements:\n\n- Python >= 3.6\n- PyTorch >= 1.0\n\nInstall other requirements by:\n```bash\npip install -r requirements.txt\n```\n\nInstall QPyTorch through pip:\n```bash\npip install qtorch\n```\n\n## Documentation\nSee our [readthedocs](https://qpytorch.readthedocs.io/en/latest/) page.\n\n## Tutorials\n- [An overview of QPyTorch's features](https://github.com/Tiiiger/QPyTorch/blob/master/examples/tutorial/Functionality_Overview.ipynb)\n- [CIFAR-10 Low-Precision Training Tutorial](https://github.com/Tiiiger/QPyTorch/blob/master/examples/tutorial/CIFAR10_Low_Precision_Training_Example.ipynb)\n\n## Examples\n- Low-Precision VGGs and ResNets using fixed point, block floating point on CIFAR and ImageNet. [lp_train](https://github.com/Tiiiger/QPyTorch/blob/master/examples/lp_train)\n- Reproduction of WAGE in QPyTorch. [WAGE](https://github.com/Tiiiger/QPyTorch/blob/master/examples/WAGE)\n- Implementation (simulation) of 8-bit Floating Point Training in QPyTorch. [IBM8](https://github.com/Tiiiger/QPyTorch/blob/master/examples/IBM8)\n\n## Team\n* [Tianyi Zhang](https://scholar.google.com/citations?user=OI0HSa0AAAAJ&hl=en)\n* Zhiqiu Lin\n* [Guandao Yang](http://www.guandaoyang.com/)\n* [Christopher De Sa](http://www.cs.cornell.edu/~cdesa/)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "qtorch", "package_url": "https://pypi.org/project/qtorch/", "platform": "", "project_url": "https://pypi.org/project/qtorch/", "project_urls": { "Documentation": "https://qpytorch.readthedocs.io", "Source": "https://github.com/Tiiiger/QPyTorch/graphs/contributors" }, "release_url": "https://pypi.org/project/qtorch/0.1.1/", "requires_dist": [ "torch (>=1.0.0)" ], "requires_python": ">=3.6", "summary": "Low-Precision Arithmetic Simulation in Pytorch", "version": "0.1.1" }, "last_serial": 5249789, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "e67083a17e040e45c06fcc0d58f39f4e", "sha256": "81f10f8a4ed191c4b5b3d745f772043caf023b30418da290151a654ed0e384e0" }, "downloads": -1, "filename": "qtorch-0.0.0-py3.6.egg", "has_sig": false, "md5_digest": "e67083a17e040e45c06fcc0d58f39f4e", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 8537, "upload_time": "2019-02-25T05:53:12", "url": "https://files.pythonhosted.org/packages/7f/4d/7c57bff319bde55c124ac8e4edea0370acd7bfec87b93717e4f12d1819ba/qtorch-0.0.0-py3.6.egg" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "d6b9775242b21362011dc5f5c8316373", "sha256": "b8b3cf33d970804e112b7ff22187d99539ad8872e97231a105c2cc8b476941b9" }, "downloads": -1, "filename": "qtorch-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d6b9775242b21362011dc5f5c8316373", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13708, "upload_time": "2019-04-24T20:41:51", "url": "https://files.pythonhosted.org/packages/fd/09/c72bfce8f7b58ba65aaf2e1804297554070d0cc793ec612a46e244180b07/qtorch-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d81b16984501b92ecaacb9857283b409", "sha256": "d75d156d580167fbeb33d9eec3504b5e494b80384284c02dca02dc9dc8d7c47d" }, "downloads": -1, "filename": "qtorch-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d81b16984501b92ecaacb9857283b409", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2252191, "upload_time": "2019-04-24T20:41:54", "url": "https://files.pythonhosted.org/packages/05/6e/f3cd17b36b0ddcbf9fcda561eade49f469b1692c77f9397963770346b076/qtorch-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ba155b56883bb2935786b343a5e9b0c5", "sha256": "ca3ff9430234811347c5e75756ea6688e9e113e78186c5b9f4c6c7936483d025" }, "downloads": -1, "filename": "qtorch-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ba155b56883bb2935786b343a5e9b0c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22871, "upload_time": "2019-05-09T22:39:42", "url": "https://files.pythonhosted.org/packages/ba/7c/bbf38c5760b9ce3cf7ade83014cf1b29af274ef1fc6ccadd82807bcb2d87/qtorch-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "404c755c126ad8b16c094032c651cc4b", "sha256": "602981f82daa7f26e8fc478c5b16d994e8c9778ab643ca03d05c59978df01c17" }, "downloads": -1, "filename": "qtorch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "404c755c126ad8b16c094032c651cc4b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 18524, "upload_time": "2019-05-09T22:39:43", "url": "https://files.pythonhosted.org/packages/2f/04/6be3be6b90a8c7593bef51062681498063793522dd0b787df4b674884f9a/qtorch-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ba155b56883bb2935786b343a5e9b0c5", "sha256": "ca3ff9430234811347c5e75756ea6688e9e113e78186c5b9f4c6c7936483d025" }, "downloads": -1, "filename": "qtorch-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ba155b56883bb2935786b343a5e9b0c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22871, "upload_time": "2019-05-09T22:39:42", "url": "https://files.pythonhosted.org/packages/ba/7c/bbf38c5760b9ce3cf7ade83014cf1b29af274ef1fc6ccadd82807bcb2d87/qtorch-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "404c755c126ad8b16c094032c651cc4b", "sha256": "602981f82daa7f26e8fc478c5b16d994e8c9778ab643ca03d05c59978df01c17" }, "downloads": -1, "filename": "qtorch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "404c755c126ad8b16c094032c651cc4b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 18524, "upload_time": "2019-05-09T22:39:43", "url": "https://files.pythonhosted.org/packages/2f/04/6be3be6b90a8c7593bef51062681498063793522dd0b787df4b674884f9a/qtorch-0.1.1.tar.gz" } ] }