{"id":13869950,"url":"https://github.com/neuraloperator/neuraloperator","last_synced_at":"2025-05-13T00:27:07.649Z","repository":{"id":38203248,"uuid":"303828458","full_name":"neuraloperator/neuraloperator","owner":"neuraloperator","description":"Learning in infinite dimension with neural operators.","archived":false,"fork":false,"pushed_at":"2025-04-19T02:26:27.000Z","size":133672,"stargazers_count":2602,"open_issues_count":31,"forks_count":657,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-04-23T23:14:45.674Z","etag":null,"topics":["fno","fourier-neural-operator","neural-operator","neural-operators","partial-differential-equations","pde","pytorch","tensor-methods","tensorization","tensorly","uno"],"latest_commit_sha":null,"homepage":"https://neuraloperator.github.io/dev/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neuraloperator.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-13T21:04:32.000Z","updated_at":"2025-04-23T10:45:52.000Z","dependencies_parsed_at":"2024-01-16T07:23:51.964Z","dependency_job_id":"289ba110-5650-419f-b293-307127e9b316","html_url":"https://github.com/neuraloperator/neuraloperator","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuraloperator%2Fneuraloperator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuraloperator%2Fneuraloperator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuraloperator%2Fneuraloperator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuraloperator%2Fneuraloperator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neuraloperator","download_url":"https://codeload.github.com/neuraloperator/neuraloperator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250528879,"owners_count":21445518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fno","fourier-neural-operator","neural-operator","neural-operators","partial-differential-equations","pde","pytorch","tensor-methods","tensorization","tensorly","uno"],"created_at":"2024-08-05T20:01:23.068Z","updated_at":"2025-04-23T23:14:51.003Z","avatar_url":"https://github.com/neuraloperator.png","language":"Python","readme":".. image:: https://img.shields.io/pypi/v/neuraloperator\n   :target: https://pypi.org/project/neuraloperator/\n   :alt: PyPI\n\n.. image:: https://github.com/NeuralOperator/neuraloperator/actions/workflows/test.yml/badge.svg\n   :target: https://github.com/NeuralOperator/neuraloperator/actions/workflows/test.yml\n\n\n===============================================\nNeuralOperator: Learning in Infinite Dimensions\n===============================================\n\n``neuraloperator`` is a comprehensive library for \nlearning neural operators in PyTorch.\nIt is the official implementation for Fourier Neural Operators \nand Tensorized Neural Operators.\n\nUnlike regular neural networks, neural operators\nenable learning mapping between function spaces, and this library\nprovides all of the tools to do so on your own data.\n\nNeural operators are also resolution invariant, \nso your trained operator can be applied on data of any resolution.\n\n\nInstallation\n------------\n\nJust clone the repository and install locally (in editable mode so changes in the code are \nimmediately reflected without having to reinstall):\n\n.. code::\n\n  git clone https://github.com/NeuralOperator/neuraloperator\n  cd neuraloperator\n  pip install -e .\n  pip install -r requirements.txt\n\nYou can also just pip install the most recent stable release of the library \non `PyPI \u003chttps://pypi.org/project/neuraloperator/\u003e`_:\n\n\n.. code::\n  \n  pip install neuraloperator\n\nQuickstart\n----------\n\nAfter you've installed the library, you can start training operators seamlessly:\n\n\n.. code-block:: python\n\n   from neuralop.models import FNO\n\n   operator = FNO(n_modes=(16, 16), hidden_channels=64,\n                   in_channels=3, out_channels=1)\n\nTensorization is also provided out of the box: you can improve the previous models\nby simply using a Tucker Tensorized FNO with just a few parameters:\n\n.. code-block:: python\n\n   from neuralop.models import TFNO\n\n   operator = TFNO(n_modes=(16, 16), hidden_channels=64,\n                   in_channels=3, \n                   out_channels=1,\n                   factorization='tucker',\n                   implementation='factorized',\n                   rank=0.05)\n\nThis will use a Tucker factorization of the weights. The forward pass\nwill be efficient by contracting directly the inputs with the factors\nof the decomposition. The Fourier layers will have 5% of the parameters\nof an equivalent, dense Fourier Neural Operator!\n\nCheckout the `documentation \u003chttps://neuraloperator.github.io/dev/index.html\u003e`_ for more!\n\nUsing with Weights and Biases\n-----------------------------\n\nOur ``Trainer`` natively supports logging to W\u0026B. To use these features, create a file in\n``neuraloperator/config`` called ``wandb_api_key.txt`` and paste your W\u0026B API key there.\nYou can configure the project you want to use and your username in the main yaml configuration files.\n\n===============\nContributing\n===============\n\nNeuralOperator is 100% open-source, and we welcome all contributions from the community! \nIf you spot a bug or a typo in the documentation, or have an idea for a feature you'd like to see,\nplease report it on our `issue tracker \u003chttps://github.com/neuraloperator/neuraloperator/issues\u003e`_, \nor even better, open a Pull-Request on `GitHub \u003chttps://github.com/neuraloperator/neuraloperator\u003e`_. \n\nNeuralOperator has additional dependencies for development, which are packaged as ``neuraloperator[dev]``\n\n.. code::\n   \n   pip install neuraloperator[dev]\n\nOR \n\n.. code ::\n   \n   pip install -e .[dev]\n\nCode formatting\n----------------\n\nBefore you submit your changes, you should make sure your code adheres to our style-guide. The\neasiest way to do this is with ``black``:\n\n.. code::\n\n   black .\n\nRunning the tests\n------------------\n\nTesting and documentation are an essential part of this package and all\nfunctions come with unit-tests and documentation. The tests are run using the\npytest package. \n    \nTo run the tests, simply run, in the terminal:\n\n.. code::\n\n    pytest -v neuralop\n\nBuilding documentation\n-----------------------\nThe HTML for our documentation website is built using ``sphinx``. The documentation\nis built from inside the ``doc`` folder. \n\n.. code::\n\n   cd doc\n   make html\n\nThis will build the docs in ``./doc/build/html``.\n\nNote that the documentation requires other dependencies installable from ``./doc/requirements_doc.txt``. \n\nTo view the documentation locally, run:\n\n.. code::\n\n   cd doc/build/html\n   python -m http.server [PORT_NUM]\n\nThe docs will then be viewable at ``localhost:PORT_NUM``.\n\n    \nCiting\n------\n\nIf you use NeuralOperator in an academic paper, please cite [1]_, [2]_::\n\n   @misc{kossaifi2024neural,\n      title={A Library for Learning Neural Operators}, \n      author={Jean Kossaifi and Nikola Kovachki and \n      Zongyi Li and David Pitt and \n      Miguel Liu-Schiaffini and Robert Joseph George and \n      Boris Bonev and Kamyar Azizzadenesheli and \n      Julius Berner and Anima Anandkumar},\n      year={2024},\n      eprint={2412.10354},\n      archivePrefix={arXiv},\n      primaryClass={cs.LG}\n   }\n\n   @article{kovachki2021neural,\n      author    = {Nikola B. Kovachki and\n                     Zongyi Li and\n                     Burigede Liu and\n                     Kamyar Azizzadenesheli and\n                     Kaushik Bhattacharya and\n                     Andrew M. Stuart and\n                     Anima Anandkumar},\n      title     = {Neural Operator: Learning Maps Between Function Spaces},\n      journal   = {CoRR},\n      volume    = {abs/2108.08481},\n      year      = {2021},\n   }\n\n\n.. [1] Kossaifi, J., Kovachki, N., Li, Z., Pitt, D., Liu-Schiaffini, M., George, R., Bonev, B., Azizzadenesheli, K., Berner, J., and Anandkumar, A., \"A Library for Learning Neural Operators\", ArXiV, 2024. doi:10.48550/arXiv.2412.10354.\n\n\n.. [2] Kovachki, N., Li, Z., Liu, B., Azizzadenesheli, K., Bhattacharya, K., Stuart, A., and Anandkumar A., “Neural Operator: Learning Maps Between Function Spaces”, JMLR, 2021. doi:10.48550/arXiv.2108.08481.\n","funding_links":[],"categories":["Datasets","Python","⚗️ Scientific Machine Learning"],"sub_categories":["🌊 Computational Fluid Dynamics, PDE \u0026 Engineering Datasets","Neural Operators \u0026 Model Discovery"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuraloperator%2Fneuraloperator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneuraloperator%2Fneuraloperator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuraloperator%2Fneuraloperator/lists"}