{"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/tramp-compositional-inference-with-tree","title":"Tree-AMP: Compositional Inference with Tree Approximate Message Passing","arxiv_id":"2004.01571","date":"2020-04-03","proceeding":null,"authors":["Antoine Baker","Benjamin Aubin","Florent Krzakala","Lenka Zdeborová"],"abstract":"We introduce Tree-AMP, standing for Tree Approximate Message Passing, a python package for compositional inference in high-dimensional tree-structured models. The package provides a unifying framework to study several approximate message passing algorithms previously derived for a variety of machine learning tasks such as generalized linear models, inference in multi-layer networks, matrix factorization, and reconstruction using non-separable penalties. For some models, the asymptotic performance of the algorithm can be theoretically predicted by the state evolution, and the measurements entropy estimated by the free entropy formalism. The implementation is modular by design: each module, which implements a factor, can be composed at will with other modules to solve complex inference tasks. The user only needs to declare the factor graph of the model: the inference algorithm, state evolution and entropy estimation are fully automated.","url_abs":"https://arxiv.org/abs/2004.01571v3","url_pdf":"https://arxiv.org/pdf/2004.01571v3.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":"tramp-compositional-inference-with-tree","repo_url":"https://github.com/sphinxteam/tramp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2004.01571","atlas_url":"https://app.syntology.ai/?focus=2004.01571","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.01571"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/sphinxteam/tramp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":6},"by_repo_kind":{"official":{"samples":14,"ran":8,"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":"32183ac4e957fd3a","entry":"filter_message","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/base.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32183ac4e957fd3a"}},{"code_sha256_prefix":"7368970d82bab301","entry":"format_latex_message","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/display_mp.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/display_mp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7368970d82bab301"}},{"code_sha256_prefix":"0ba6c9834d12997b","entry":"get_size","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/message_passing.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/message_passing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0ba6c9834d12997b"}},{"code_sha256_prefix":"0f9d55b87b2d7615","entry":"info_arrow","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/message_passing.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/message_passing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0f9d55b87b2d7615"}},{"code_sha256_prefix":"6a0f6af1d561bc9b","entry":"info_message","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/message_passing.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/message_passing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6a0f6af1d561bc9b"}},{"code_sha256_prefix":"6fa3577eafb07bed","entry":"mean_squared_error","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/metrics.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6fa3577eafb07bed"}},{"code_sha256_prefix":"2d20a2ebdf5d1e00","entry":"norm","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/callbacks.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/callbacks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2d20a2ebdf5d1e00"}},{"code_sha256_prefix":"af14d7277a84f3eb","entry":"to_list","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/models/base_model.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/models/base_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"af14d7277a84f3eb"}},{"code_sha256_prefix":"dae9b1a31eafc693","entry":"committee","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/models/committee_model.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/models/committee_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dae9b1a31eafc693"}},{"code_sha256_prefix":"ebcc038403b3f966","entry":"inv","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/base.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ebcc038403b3f966"}},{"code_sha256_prefix":"7f30b3f7b657b287","entry":"phase_symmetric_mse","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/metrics.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f30b3f7b657b287"}},{"code_sha256_prefix":"309a079584ee14c3","entry":"sgn_committee","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/models/committee_model.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/models/committee_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"309a079584ee14c3"}},{"code_sha256_prefix":"3f4cd6ca44e02ee3","entry":"sign_symmetric_mse","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/algos/metrics.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/algos/metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3f4cd6ca44e02ee3"}},{"code_sha256_prefix":"4090d9a67e7f49cf","entry":"soft_committee","repo":"sphinxteam/tramp","repo_kind":"official","path":"tramp/models/committee_model.py","file_url":"https://github.com/sphinxteam/tramp/blob/HEAD/tramp/models/committee_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4090d9a67e7f49cf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}