{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/benchmarking-predictive-coding-networks-made","title":"Benchmarking Predictive Coding Networks -- Made Simple","arxiv_id":"2407.01163","date":"2024-07-01","proceeding":null,"authors":["Luca Pinchetti","Chang Qi","Oleh Lokshyn","Gaspard Olivers","Cornelius Emde","Mufeng Tang","Amine M'Charrak","Simon Frieder","Bayar Menzat","Rafal Bogacz","Thomas Lukasiewicz","Tommaso Salvatori"],"abstract":"In this work, we tackle the problems of efficiency and scalability for predictive coding networks in machine learning. To do so, we first propose a library called PCX, whose focus lies on performance and simplicity, and provides a user-friendly, deep-learning oriented interface. Second, we use PCX to implement a large set of benchmarks for the community to use for their experiments. As most works propose their own tasks and architectures, do not compare one against each other, and focus on small-scale tasks, a simple and fast open-source library adopted by the whole community would address all of these concerns. Third, we perform extensive benchmarks using multiple algorithms, setting new state-of-the-art results in multiple tasks and datasets, as well as highlighting limitations inherent to PC that should be addressed. Thanks to the efficiency of PCX, we are able to analyze larger architectures than commonly used, providing baselines to galvanize community efforts towards one of the main open problems in the field: scalability. The code for PCX is available at \\textit{https://github.com/liukidar/pcax}.","url_abs":"https://arxiv.org/abs/2407.01163v1","url_pdf":"https://arxiv.org/pdf/2407.01163v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"benchmarking-predictive-coding-networks-made","repo_url":"https://github.com/liukidar/pcax","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"}],"methods":[{"method_slug":"focus","method_name":"Focus"},{"method_slug":null,"method_name":"Library"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.01163","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.01163"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/liukidar/pcax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ef147485fa96660c","entry":"get","repo":"liukidar/pcax","repo_kind":"official","path":"pcx/core/_parameter.py","file_url":"https://github.com/liukidar/pcax/blob/HEAD/pcx/core/_parameter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ef147485fa96660c"}},{"code_sha256_prefix":"0545d71beb4c90a5","entry":"set","repo":"liukidar/pcax","repo_kind":"official","path":"pcx/core/_parameter.py","file_url":"https://github.com/liukidar/pcax/blob/HEAD/pcx/core/_parameter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0545d71beb4c90a5"}},{"code_sha256_prefix":"42d08fbc0f0f6974","entry":"tree_apply","repo":"liukidar/pcax","repo_kind":"official","path":"pcx/core/_tree.py","file_url":"https://github.com/liukidar/pcax/blob/HEAD/pcx/core/_tree.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"42d08fbc0f0f6974"}},{"code_sha256_prefix":"c7c2bfc670d2e421","entry":"tree_extract","repo":"liukidar/pcax","repo_kind":"official","path":"pcx/core/_tree.py","file_url":"https://github.com/liukidar/pcax/blob/HEAD/pcx/core/_tree.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c7c2bfc670d2e421"}},{"code_sha256_prefix":"865cc5225e790ed7","entry":"tree_inject","repo":"liukidar/pcax","repo_kind":"official","path":"pcx/core/_tree.py","file_url":"https://github.com/liukidar/pcax/blob/HEAD/pcx/core/_tree.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"865cc5225e790ed7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}