{"id":15503010,"url":"https://github.com/esceptico/perceiver-io","last_synced_at":"2025-05-12T17:23:23.831Z","repository":{"id":37892732,"uuid":"400766735","full_name":"esceptico/perceiver-io","owner":"esceptico","description":"Unofficial implementation of Perceiver IO","archived":false,"fork":false,"pushed_at":"2022-06-14T22:23:55.000Z","size":17,"stargazers_count":121,"open_issues_count":0,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-12T17:23:21.737Z","etag":null,"topics":["decoder","deep-learning","encoder","machine-learning","nlp","perceiver","perceiverio","python","pytorch","self-attention","transformer"],"latest_commit_sha":null,"homepage":"","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/esceptico.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2021-08-28T10:40:26.000Z","updated_at":"2025-05-07T13:38:42.000Z","dependencies_parsed_at":"2022-08-19T18:11:04.634Z","dependency_job_id":null,"html_url":"https://github.com/esceptico/perceiver-io","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esceptico%2Fperceiver-io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esceptico%2Fperceiver-io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esceptico%2Fperceiver-io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esceptico%2Fperceiver-io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esceptico","download_url":"https://codeload.github.com/esceptico/perceiver-io/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253785134,"owners_count":21963921,"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":["decoder","deep-learning","encoder","machine-learning","nlp","perceiver","perceiverio","python","pytorch","self-attention","transformer"],"created_at":"2024-10-02T09:11:50.208Z","updated_at":"2025-05-12T17:23:23.788Z","avatar_url":"https://github.com/esceptico.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Perceiver IO\nUnofficial implementation of \n[Perceiver IO: A General Architecture for Structured Inputs \u0026 Outputs](https://arxiv.org/abs/2107.14795)\n\n\n# Installation\n**From PyPI**\n```shell\npip install -U perceiver-io-pytorch\n```\n\n\n# Usage\n\n```python\nimport torch\n\nfrom perceiver_io.decoders import PerceiverDecoder\nfrom perceiver_io.encoder import PerceiverEncoder\nfrom perceiver_io import PerceiverIO\n\nnum_latents = 128\nlatent_dim = 256\ninput_dim = 64\n\ndecoder_query_dim = 4\n\nencoder = PerceiverEncoder(\n    num_latents=num_latents,\n    latent_dim=latent_dim,\n    input_dim=input_dim,\n    num_self_attn_per_block=8,\n    num_blocks=1\n)\ndecoder = PerceiverDecoder(\n    latent_dim=latent_dim,\n    query_dim=decoder_query_dim\n)\nperceiver = PerceiverIO(encoder, decoder)\n\ninputs = torch.randn(2, 16, input_dim)\noutput_query = torch.randn(2, 3, decoder_query_dim)\n\nperceiver(inputs, output_query)  # shape = (2, 3, 4)\n\n```\n\n# List of implemented decoders\n* ProjectionDecoder\n* ClassificationDecoder\n* PerceiverDecoder\n\n# Example architectures:\n* [Perceiver for LM](examples/language_modelling.py)\n\n# Citation\n```bibtex\n@misc{jaegle2021perceiver,\n    title   = {Perceiver IO: A General Architecture for Structured Inputs \u0026 Outputs},\n    author  = {Andrew Jaegle and Sebastian Borgeaud and Jean-Baptiste Alayrac and Carl Doersch and Catalin Ionescu and David Ding and Skanda Koppula and Andrew Brock and Evan Shelhamer and Olivier Hénaff and Matthew M. Botvinick and Andrew Zisserman and Oriol Vinyals and João Carreira},\n    year    = {2021},\n    eprint  = {2107.14795},\n    archivePrefix = {arXiv},\n    primaryClass = {cs.LG}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesceptico%2Fperceiver-io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesceptico%2Fperceiver-io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesceptico%2Fperceiver-io/lists"}