{"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/arxiv-2605-26419","title":"Amortized Factor Inference Networks for Posterior Inference","arxiv_id":"2605.26419","date":"2026-05-26","proceeding":null,"authors":["Joohwan Ko","Justin Domke"],"abstract":"Amortized inference promises fast test-time Bayesian inference, but existing methods are inherently tied to fixed models. Extending amortization to unseen models typically requires retraining or costly test-time finetuning. In this paper, we ask: is it possible to build a single inference network capable of generalizing across varying priors, likelihoods, and dimensionality? We introduce Amortized Factor Inference Networks (AFINs), a family of encode-merge-decode inference networks built on dimension-independent modules that map a model specification and its observations to the parameters of a variational posterior. Experimentally, a single trained AFIN achieves posterior accuracy comparable to NUTS and several variational inference methods, while requiring 2 to 4 orders of magnitude less test-time compute. Code is available at https://github.com/joohwanko/AFINs.","url_abs":"https://arxiv.org/abs/2605.26419","url_pdf":"https://arxiv.org/pdf/2605.26419","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.26419","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.26419"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/joohwanko/AFINs","reach":null}],"summary":{"ran":11,"ran_draft_wrong":11,"ran_honours":3,"unverified":9},"by_repo_kind":{"found_in_text":{"samples":34,"ran":25,"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":34,"samples":[{"code_sha256_prefix":"a5439200b2ec18e2","entry":"BoxEncoder","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a5439200b2ec18e2"}},{"code_sha256_prefix":"826ea012bff8cec1","entry":"BoxLayer","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"826ea012bff8cec1"}},{"code_sha256_prefix":"63356b4db37c327e","entry":"BoxTensorMap","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"63356b4db37c327e"}},{"code_sha256_prefix":"54316f04b962db63","entry":"CouplingLayer","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"54316f04b962db63"}},{"code_sha256_prefix":"320854698824fa3d","entry":"ExpType","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"320854698824fa3d"}},{"code_sha256_prefix":"dc71b886fbadc88c","entry":"FactorAdapter","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc71b886fbadc88c"}},{"code_sha256_prefix":"d824d563da928a2a","entry":"FlowAffine","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d824d563da928a2a"}},{"code_sha256_prefix":"0ba39bb1539ae4f2","entry":"FlowContext","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0ba39bb1539ae4f2"}},{"code_sha256_prefix":"82b92c2d51bc391e","entry":"GaussianDecoder","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82b92c2d51bc391e"}},{"code_sha256_prefix":"6da7fd7b8e9ac995","entry":"MLP","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6da7fd7b8e9ac995"}},{"code_sha256_prefix":"d68731a7402c6951","entry":"Posterior","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d68731a7402c6951"}},{"code_sha256_prefix":"a6c9e68b61dcf642","entry":"_apply_final_affine","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a6c9e68b61dcf642"}},{"code_sha256_prefix":"9c805cb5161c85eb","entry":"_common_num_heads","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9c805cb5161c85eb"}},{"code_sha256_prefix":"d1aa90d6285ca364","entry":"_ensure_batch_z","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d1aa90d6285ca364"}},{"code_sha256_prefix":"c677cff5d14caf61","entry":"_eye","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c677cff5d14caf61"}},{"code_sha256_prefix":"8031ab7f60869908","entry":"_invert_final_affine","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8031ab7f60869908"}},{"code_sha256_prefix":"a24ab3072b6c0f1a","entry":"_pair_expand","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a24ab3072b6c0f1a"}},{"code_sha256_prefix":"91e59be3aac163c8","entry":"_rich_node_features","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"91e59be3aac163c8"}},{"code_sha256_prefix":"bae266f55c6d1393","entry":"_safe_cholesky","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bae266f55c6d1393"}},{"code_sha256_prefix":"1e6f80a593f3ab1b","entry":"_safe_log","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1e6f80a593f3ab1b"}},{"code_sha256_prefix":"b1ce90d5700028f4","entry":"_symmetrize","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b1ce90d5700028f4"}},{"code_sha256_prefix":"0395024fe9deb4de","entry":"gaussian_log_prob_from_precision_chol","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0395024fe9deb4de"}},{"code_sha256_prefix":"d41e6ac4865dab88","entry":"gaussian_sample_from_precision_chol","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d41e6ac4865dab88"}},{"code_sha256_prefix":"4e3706d92791e545","entry":"standard_normal_dist_like","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e3706d92791e545"}},{"code_sha256_prefix":"9d518e211efa7b47","entry":"symlog","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9d518e211efa7b47"}},{"code_sha256_prefix":"5881aec3f29027a7","entry":"AFIN","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5881aec3f29027a7"}},{"code_sha256_prefix":"e44a35c7b9ca0f4e","entry":"FactorAttentionBlock","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e44a35c7b9ca0f4e"}},{"code_sha256_prefix":"c934945e4298844b","entry":"FactorMerge","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c934945e4298844b"}},{"code_sha256_prefix":"8b66bdac1c67c76a","entry":"RealNVPFlow","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b66bdac1c67c76a"}},{"code_sha256_prefix":"095063e3190aa098","entry":"_init_softplus_unit","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"095063e3190aa098"}},{"code_sha256_prefix":"80da960bda126a8a","entry":"_meta_tensor","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"80da960bda126a8a"}},{"code_sha256_prefix":"357c4db59258e60c","entry":"_sym_pair","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"357c4db59258e60c"}},{"code_sha256_prefix":"e1e321b51442ba1f","entry":"_zero_last","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1e321b51442ba1f"}},{"code_sha256_prefix":"a78a0b6214e1539c","entry":"_zero_last_bias","repo":"joohwanko/AFINs","repo_kind":"found_in_text","path":"src/afin/model.py","file_url":"https://github.com/joohwanko/AFINs/blob/HEAD/src/afin/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a78a0b6214e1539c"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}