{"id":25524850,"url":"https://github.com/neuromorphs/nir","last_synced_at":"2025-04-11T03:43:02.501Z","repository":{"id":177940506,"uuid":"661110494","full_name":"neuromorphs/NIR","owner":"neuromorphs","description":"Neuromorphic Intermediate Representation reference implementation","archived":false,"fork":false,"pushed_at":"2024-04-29T23:32:34.000Z","size":34799,"stargazers_count":55,"open_issues_count":11,"forks_count":4,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-05-01T21:18:38.307Z","etag":null,"topics":["machine-learning","neuromorphic"],"latest_commit_sha":null,"homepage":"https://nnir.readthedocs.io","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neuromorphs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-01T20:27:43.000Z","updated_at":"2024-05-03T02:31:30.872Z","dependencies_parsed_at":"2023-10-14T03:23:05.398Z","dependency_job_id":"38202456-22e2-4637-b7f8-9d4555c7e075","html_url":"https://github.com/neuromorphs/NIR","commit_stats":null,"previous_names":["neuromorphs/nir"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuromorphs%2FNIR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuromorphs%2FNIR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuromorphs%2FNIR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuromorphs%2FNIR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neuromorphs","download_url":"https://codeload.github.com/neuromorphs/NIR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339287,"owners_count":21087213,"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":["machine-learning","neuromorphic"],"created_at":"2025-02-19T20:16:31.961Z","updated_at":"2025-04-11T03:43:02.471Z","avatar_url":"https://github.com/neuromorphs.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/neuromorphs/NIR/raw/main/docs/logo_dark.png\"\u003e\n\u003cimg alt=\"NIR Logo\" src=\"https://github.com/neuromorphs/NIR/raw/main/docs/logo_light.png\"\u003e\n\u003c/picture\u003e\n\n# NIR - Neuromorphic Intermediate Representation\n\n[![Nature Communications Paper](https://zenodo.org/badge/DOI/10.1038/s41467-024-52259-9.svg)](https://doi.org/10.1038/s41467-024-52259-9)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/nir?logo=pypi)](https://pypi.org/project/nir/)\n[![GitHub Tag](https://img.shields.io/github/v/tag/neuromorphs/nir?logo=github)](https://github.com/neuromorphs/NIR/releases)\n[![Discord](https://img.shields.io/discord/1209533869733453844?logo=discord)](https://discord.gg/JRMRGP9h3c)\n\nNIR is a set of computational primitives, shared across different neuromorphic frameworks and technology stacks.\n**NIR is currently supported by 7 simulators and 4 hardware platforms**, allowing users to seamlessly move between any of these platforms.\n\nNIR is useful when you want to move a model from one platform to another, for instance from a simulator to a hardware platform.\n\n\u003e Read more about NIR in our [documentation about NIR primitives](https://neuroir.org/docs/primitives.html)\n\n\u003e See [which frameworks are currently supported by NIR](https://neuroir.org/docs/support.html).\n\n## Usage\n\u003e Read more in our [documentation about NIR usage](https://neuroir.org/docs) and see more examples in our [examples section](https://neuroir.org/docs/examples)\n\nNIR serves as a format between neuromorphic platforms and will be installed alongside your framework of choice.\nUsing NIR is typically a part of your favorite framework's workflow, but follows the same pattern when you want to move from a *source* to a *target* platform:\n\n```python\n# Define a model\nmy_model = ...\n# Save the model (source platform)\nnir.write(\"my_graph.nir\", my_model) \n# Load the model (target platform)\nimported_graph = nir.read(\"my_graph.nir\")\n```\n\nSee our [example section](https://neuroir.org/docs/examples) for how to use NIR with your favorite framework.\n\n## Frameworks that currently support NIR\n\u003e Read more in our [documentation about NIR support](https://neuroir.org/docs/support.html)\n\n| **Framework** | **Write to NIR** | **Read from NIR** | **Examples** |\n| --------------- | :--: | :--: | :------: |\n| [Lava-DL](https://github.com/lava-nc/lava-dl) | ✓ | ⬚ | [Lava/Loihi examples](https://neuroir.org/docs/examples/lava/nir-conversion.html) |\n| [Nengo](https://nengo.ai) | ✓ | ✓ | [Nengo examples](https://neuroir.org/docs/examples/nengo/nir-conversion.html) |\n| [Norse](https://github.com/norse/norse) | ✓ | ✓ | [Norse examples](https://neuroir.org/docs/examples/norse/nir-conversion.html) |\n| [Rockpool](https://rockpool.ai) ([SynSense Xylo chip](https://www.synsense.ai/products/xylo/)) | ✓ | ✓ | [Rockpool/Xylo examples](https://neuroir.org/docs/examples/rockpool/nir-conversion.html)\n| [Sinabs](https://sinabs.readthedocs.io) ([SynSense Speck chip](https://www.synsense.ai/products/speck-2/)) | ✓ | ✓ | [Sinabs/Speck examples](https://neuroir.org/docs/examples/sinabs/nir-conversion.html) |\n| [snnTorch](https://github.com/jeshraghian/snntorch/) | ✓ | ✓ | [snnTorch examples](https://neuroir.org/docs/examples/snntorch/nir-conversion.html) |\n| [SpiNNaker2](https://spinncloud.com/portfolio/spinnaker2/) | ⬚ | ✓ | [SpiNNaker2 examples](https://neuroir.org/docs/examples/spinnaker2/import.html) |\n| [Spyx](https://github.com/kmheckel/spyx) | ✓ | ✓ | [Spyx examples](https://neuroir.org/docs/examples/spyx/conversion.html)\n\n\n## Acknowledgements\nThis work was originally conceived at the [Telluride Neuromorphic Workshop 2023](https://tellurideneuromorphic.org) by the authors below (in alphabetical order):\n* [Steven Abreu](https://github.com/stevenabreu7)\n* [Felix Bauer](https://github.com/bauerfe)\n* [Jason Eshraghian](https://github.com/jeshraghian)\n* [Matthias Jobst](https://github.com/matjobst)\n* [Gregor Lenz](https://github.com/biphasic)\n* [Jens Egholm Pedersen](https://github.com/jegp)\n* [Sadique Sheik](https://github.com/sheiksadique)\n* [Peng Zhou](https://github.com/pengzhouzp)\n\nIf you use NIR in your work, please cite the [following paper](https://www.nature.com/articles/s41467-024-52259-9)\n\n```\narticle{NIR2024, \n    title={Neuromorphic intermediate representation: A unified instruction set for interoperable brain-inspired computing}, \n    author={Pedersen, Jens E. and Abreu, Steven and Jobst, Matthias and Lenz, Gregor and Fra, Vittorio and Bauer, Felix Christian and Muir, Dylan Richard and Zhou, Peng and Vogginger, Bernhard and Heckel, Kade and Urgese, Gianvito and Shankar, Sadasivan and Stewart, Terrence C. and Sheik, Sadique and Eshraghian, Jason K.}, \n    rights={2024 The Author(s)},\n    DOI={10.1038/s41467-024-52259-9}, \n    number={1},\n    journal={Nature Communications}, \n    volume={15},\n    year={2024}, \n    month=sep, \n    pages={8122},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuromorphs%2Fnir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneuromorphs%2Fnir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuromorphs%2Fnir/lists"}