{ "info": { "author": "Edouard Oyallon, Eugene Belilovsky, Sergey Zagoruyko, Michael Eickenberg, Mathieu Andreux, Georgios Exarchakis, Louis Thiry, Vincent Lostanlen, Joakim And\u00e9n, Tom\u00e1s Angles, Gabriel Huang, Roberto Leonarduzzi", "author_email": "edouard.oyallon@centralesupelec.fr, belilove@iro.umontreal.ca, sergey.zagoruyko@inria.fr, michael.eickenberg@berkeley.edu, mathieu.andreux@ens.fr, georgios.exarchakis@ens.fr, louis.thiry@ens.fr, vincent.lostanlen@nyu.edu, janden@flatironinstitute.org, tomas.angles@ens.fr, gabriel.huang@umontreal.ca, roberto.leonarduzzi@ens.fr", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Multimedia :: Graphics :: 3D Modeling", "Topic :: Multimedia :: Sound/Audio :: Analysis", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Kymatio: Wavelet scattering in PyTorch\n======================================\n\nKymatio is an implementation of the wavelet scattering transform in the Python programming language, suitable for large-scale numerical experiments in signal processing and machine learning.\nScattering transforms are translation-invariant signal representations implemented as convolutional networks whose filters are not learned, but fixed (as wavelet filters).\n\n\n\nUse Kymatio if you need a library that:\n* supports 1-D, 2-D, and 3-D wavelets,\n* integrates wavelet scattering in a deep learning architecture, and\n* runs seamlessly on CPU and GPU hardware.\n\n\n### Flexibility\n\nThe Kymatio organization associates the developers of several pre-existing packages for wavelet scattering, including `ScatNet`, `scattering.m`, `PyScatWave`, `WaveletScattering.jl`, and `PyScatHarm`.\n\nThe resort to PyTorch tensors as inputs to Kymatio allows the programmer to backpropagate the gradient of wavelet scattering coefficients, thus integrating them within an end-to-end trainable pipeline, such as a deep neural network.\n\n### Portability\n\nEach of these algorithms is written in a high-level imperative paradigm, making it portable to any Python library for array operations as long as it enables complex-valued linear algebra and a fast Fourier transform (FFT).\n\nCurrently, there are two available backends, PyTorch (CPU and GPU) and scikit-cuda (GPU only).\n\n### Scalability\n\nKymatio integrates the construction of wavelet filter banks in 1D, 2D, and 3D, as well as memory-efficient algorithms for extracting wavelet scattering coefficients, under a common application programming interface.\n\nRunning Kymatio on a graphics processing unit (GPU) rather than a multi-core conventional computer processing unit (CPU) allows for significant speedups in computing the scattering transform.\nThe current speedup with respect to CPU-based MATLAB code is of the order of 10 in 1D and 3D and of the order of 100 in 2D.\n\nWe refer to our [official benchmarks](https://www.kymat.io/userguide.html#benchmark-with-previous-versions) for further details.\n\n### How to cite\n\nIf you use this package, please cite the following paper:\n\nAndreux M., Angles T., Exarchakis G., Leonarduzzi R., Rochette G., Thiry L., Zarka J., Mallat S., And\u00e9n J., Belilovsky E., Bruna J., Lostanlen V., Hirn M. J., Oyallon E., Zhang S., Cella C., Eickenberg M (2019). Kymatio: Scattering Transforms in Python. arXiv preprint arXiv:1812.11214. [[paper]](https://arxiv.org/abs/1812.11214)\n\n## Installation\n\n\n### Dependencies\n\nKymatio requires:\n\n* Python (>= 3.5)\n* PyTorch (>= 0.4)\n* SciPy (>= 0.13)\n\n\n### Standard installation (on CPU hardware)\nWe strongly recommend running Kymatio in an Anaconda environment, because this simplifies the installation of [PyTorch](https://pytorch.org). This is most easily achieved by running\n\n```\nconda install pytorch torchvision -c pytorch\n```\n\nOnce PyTorch is installed, you may install the latest version of Kymatio using the package manager `pip`, which will automatically download Kymatio from the Python Package Index (PyPI):\n\n```\npip install kymatio\n```\n\nLinux and macOS are the two officially supported operating systems.\n\n\n### GPU acceleration\n\n\nTo run Kymatio on a graphics processing unit (GPU), you can either use the PyTorch-style `cuda()` method to move your object to GPU. For extra speed, install the CUDA library and install the `scikit-cuda` dependency by running the following pip command:\n\n```\npip install scikit-cuda cupy\n```\n\nThen, set the `KYMATIO_BACKEND` to `skcuda`:\n\n```\nos.environ[\"KYMATIO_BACKEND\"] = \"skcuda\"\n```\n\n\n#### Available backends: PyTorch and scikit-cuda\n\nKymatio is designed to operate on a variety of backends for tensor operations.\nThe user may control the choice of backend at runtime by setting the environment variable `KYMATIO_BACKEND`, or by editing the Kymatio configuration file (`~/.config/kymatio/kymatio.cfg` on Linux).\n\nThe two available backends are PyTorch (`torch`) and scikit-cuda (`skcuda`).\n\nPyTorch is the default backend in 1D, 2D, and 3D scattering. For applications of the 2D scattering transform to large images (e.g. ImageNet, of size 224x224), however, we recommend the scikit-cuda backend, which is substantially faster than PyTorch.\n\n### Installation from source\n\nAssuming PyTorch is already installed (see above) and the Kymatio source has been downloaded, you may install it by running\n\n```\npip install -r requirements.txt\npython setup.py install\n```\n\n\n## Documentation\n\nThe documentation of Kymatio is officially hosted on the [kymat.io](https://www.kymat.io/) website.\n\n\n### Online resources\n\n* [GitHub repository](https://github.com/kymatio/kymatio)\n* [GitHub issue tracker](https://github.com/kymatio/kymatio/issues)\n* [BSD-3-Clause license](https://github.com/kymatio/kymatio/blob/master/LICENSE.md)\n* [List of authors](https://github.com/kymatio/kymatio/blob/master/AUTHORS.md)\n* [Code of conduct](https://github.com/kymatio/kymatio/blob/master/CODE_OF_CONDUCT.md)\n\n\n### Building the documentation from source\nThe documentation can also be found in the `doc/` subfolder of the GitHub repository.\nTo build the documentation locally, please clone this repository and run\n\n```\npip install -r requirements_optional.txt\ncd doc; make clean; make html\n```\n\n## Kymatio\n\nKyma (*\u03ba\u03cd\u03bc\u03b1*) means *wave* in Greek. By the same token, Kymatio (*\u03ba\u03c5\u03bc\u03ac\u03c4\u03b9\u03bf*) means *wavelet*.\n\nNote that the organization and the library are capitalized (*Kymatio*) whereas the corresponding Python module is written in lowercase (`import kymatio`).\n\nThe recommended pronunciation for Kymatio is *kim-ah-tio*. In other words, it rhymes with patio, not with ratio.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/kymatio/kymatio/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.kymat.io", "keywords": "", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "kymatio", "package_url": "https://pypi.org/project/kymatio/", "platform": "", "project_url": "https://pypi.org/project/kymatio/", "project_urls": { "Authors": "https://github.com/kymatio/kymatio/blob/master/AUTHORS.md", "Documentation": "https://www.kymat.io/codereference.html", "Download": "https://github.com/kymatio/kymatio/releases", "Homepage": "https://www.kymat.io", "Source": "https://github.com/kymatio/kymatio/", "Tracker": "https://github.com/kymatio/kymatio/issues" }, "release_url": "https://pypi.org/project/kymatio/0.1.0/", "requires_dist": [ "numpy", "scipy", "appdirs", "configparser" ], "requires_python": ">=3.5", "summary": "Wavelet scattering transforms in Python with GPU acceleration", "version": "0.1.0" }, "last_serial": 5398317, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a84269233c29d34948eff9c6dbcd65fd", "sha256": "bbae6184d536067e5ec005938853d71cfa6ec341e55f9ccc75ea9f6f727ac932" }, "downloads": -1, "filename": "kymatio-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a84269233c29d34948eff9c6dbcd65fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 54998, "upload_time": "2019-06-14T00:36:10", "url": "https://files.pythonhosted.org/packages/a6/b1/63c780db2adf4810397272bb3a2c15592d9860b2c85525f2658db2f9a248/kymatio-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "221f2fc5c6f0c446d66a6ec0a0caaece", "sha256": "a654695a897e9a0755d28a40795b66795563761de640710eb3c4cf71da509de2" }, "downloads": -1, "filename": "kymatio-0.1.0.tar.gz", "has_sig": false, "md5_digest": "221f2fc5c6f0c446d66a6ec0a0caaece", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45332, "upload_time": "2019-06-14T00:36:12", "url": "https://files.pythonhosted.org/packages/d1/6d/c5c5c892fef8a44908c9aa0ef94f3130af972cd1561accf712b119e5b406/kymatio-0.1.0.tar.gz" } ], "0.1.0a0": [ { "comment_text": "", "digests": { "md5": "31bbb259a5f986457c8ca8591b5b7f8f", "sha256": "62b8a06a2c4b47638603a30be6891c28b3150ee53b28bc485d6a97b7ef74835d" }, "downloads": -1, "filename": "kymatio-0.1.0a0-py3-none-any.whl", "has_sig": false, "md5_digest": "31bbb259a5f986457c8ca8591b5b7f8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 54767, "upload_time": "2018-12-17T14:13:39", "url": "https://files.pythonhosted.org/packages/e1/e0/d466795f512735df1ba7482f37b92d8162d870036f94d0ea8136f9f2ce04/kymatio-0.1.0a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f13f8d4aa02d9a6ef42b7228da45d21f", "sha256": "8b86b7b136e9790593831dfe2fe6e2d6a3b7eee4091fdd8c9b63518560ee8732" }, "downloads": -1, "filename": "kymatio-0.1.0a0.tar.gz", "has_sig": false, "md5_digest": "f13f8d4aa02d9a6ef42b7228da45d21f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44709, "upload_time": "2018-12-17T14:13:42", "url": "https://files.pythonhosted.org/packages/79/20/e8d8ff0aa0f4635ac11a5d380637128b94d3537f0f2a460821ab4fa09088/kymatio-0.1.0a0.tar.gz" } ], "0.1.0b0": [ { "comment_text": "", "digests": { "md5": "626b1942487372f3c7220c21ef5ef4bd", "sha256": "7ba2742bb5c5d591b86e3e747e2b4ef03c1475c39924a9c96a67487bae508164" }, "downloads": -1, "filename": "kymatio-0.1.0b0-py3-none-any.whl", "has_sig": false, "md5_digest": "626b1942487372f3c7220c21ef5ef4bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 55026, "upload_time": "2019-01-18T18:08:36", "url": "https://files.pythonhosted.org/packages/ba/99/5acb7f09e0752a0094fa1fc7147e33b679b92c8a4d483d7dee5715d2a10f/kymatio-0.1.0b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8878ddca45622a89d44dea0b64f1f79", "sha256": "9ff29f4c77b09dee19e183a81b2aa0e5b435e0ed0aa87bd90dcef27e9057ce30" }, "downloads": -1, "filename": "kymatio-0.1.0b0.tar.gz", "has_sig": false, "md5_digest": "f8878ddca45622a89d44dea0b64f1f79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45274, "upload_time": "2019-01-18T18:08:38", "url": "https://files.pythonhosted.org/packages/98/d0/d325ea72797d99c89aa2c191adcb10d9b54b2d1f2731f4ae3845a0babd43/kymatio-0.1.0b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a84269233c29d34948eff9c6dbcd65fd", "sha256": "bbae6184d536067e5ec005938853d71cfa6ec341e55f9ccc75ea9f6f727ac932" }, "downloads": -1, "filename": "kymatio-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a84269233c29d34948eff9c6dbcd65fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 54998, "upload_time": "2019-06-14T00:36:10", "url": "https://files.pythonhosted.org/packages/a6/b1/63c780db2adf4810397272bb3a2c15592d9860b2c85525f2658db2f9a248/kymatio-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "221f2fc5c6f0c446d66a6ec0a0caaece", "sha256": "a654695a897e9a0755d28a40795b66795563761de640710eb3c4cf71da509de2" }, "downloads": -1, "filename": "kymatio-0.1.0.tar.gz", "has_sig": false, "md5_digest": "221f2fc5c6f0c446d66a6ec0a0caaece", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45332, "upload_time": "2019-06-14T00:36:12", "url": "https://files.pythonhosted.org/packages/d1/6d/c5c5c892fef8a44908c9aa0ef94f3130af972cd1561accf712b119e5b406/kymatio-0.1.0.tar.gz" } ] }