{"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/inferring-and-executing-programs-for-visual","title":"Inferring and Executing Programs for Visual Reasoning","arxiv_id":"1705.03633","date":"2017-05-10","proceeding":"ICCV 2017 10","authors":["Justin Johnson","Bharath Hariharan","Laurens van der Maaten","Judy Hoffman","Li Fei-Fei","C. Lawrence Zitnick","Ross Girshick"],"abstract":"Existing methods for visual reasoning attempt to directly map inputs to\noutputs using black-box architectures without explicitly modeling the\nunderlying reasoning processes. As a result, these black-box models often learn\nto exploit biases in the data rather than learning to perform visual reasoning.\nInspired by module networks, this paper proposes a model for visual reasoning\nthat consists of a program generator that constructs an explicit representation\nof the reasoning process to be performed, and an execution engine that executes\nthe resulting program to produce an answer. Both the program generator and the\nexecution engine are implemented by neural networks, and are trained using a\ncombination of backpropagation and REINFORCE. Using the CLEVR benchmark for\nvisual reasoning, we show that our model significantly outperforms strong\nbaselines and generalizes better in a variety of settings.","url_abs":"http://arxiv.org/abs/1705.03633v1","url_pdf":"http://arxiv.org/pdf/1705.03633v1.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":"inferring-and-executing-programs-for-visual","repo_url":"https://github.com/facebookresearch/clevr-iep","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"inferring-and-executing-programs-for-visual","repo_url":"https://github.com/AlexKuhnle/film","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"inferring-and-executing-programs-for-visual","repo_url":"https://github.com/bhanu77prakash/EDA-project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"inferring-and-executing-programs-for-visual","repo_url":"https://github.com/ethanjperez/film","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"inferring-and-executing-programs-for-visual","repo_url":"https://github.com/rs9000/VisualReasoning_MMnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"},{"task_slug":"visual-reasoning","task_name":"Visual Reasoning"}],"methods":[{"method_slug":"reinforce","method_name":"REINFORCE"}],"datasets_introduced":[{"slug":"clevr-humans","name":"CLEVR-Humans","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-question-answering-on-clevr","task":"Visual Question Answering (VQA)","dataset":"CLEVR","model":"IEP-700K","rank_in_archive_order":13,"of":15,"metrics":{"Accuracy":"96.9"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-on-clevr-humans","task":"Visual Question Answering (VQA)","dataset":"CLEVR-Humans","model":"IEP-18K","rank_in_archive_order":5,"of":5,"metrics":{"Accuracy":"66.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1705.03633","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1705.03633"}},"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/ethanjperez/film","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AlexKuhnle/film","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bhanu77prakash/EDA-project","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/facebookresearch/clevr-iep","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rs9000/VisualReasoning_MMnet","reach":{"status":"unanswered"}}],"summary":{"ran_draft_wrong":3,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":6,"samples":[{"code_sha256_prefix":"13ab7b9cc80a2b9b","entry":"get_state","repo":"facebookresearch/clevr-iep","repo_kind":"official","path":"scripts/train_model.py","file_url":"https://github.com/facebookresearch/clevr-iep/blob/HEAD/scripts/train_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"13ab7b9cc80a2b9b"}},{"code_sha256_prefix":"d095fd5888d50fa5","entry":"init_rnn","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"d095fd5888d50fa5"}},{"code_sha256_prefix":"829ba4926365475d","entry":"init_rnn","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"829ba4926365475d"}},{"code_sha256_prefix":"394f2802fb88d6da","entry":"parse_int_list","repo":"facebookresearch/clevr-iep","repo_kind":"official","path":"scripts/train_model.py","file_url":"https://github.com/facebookresearch/clevr-iep/blob/HEAD/scripts/train_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"394f2802fb88d6da"}},{"code_sha256_prefix":"bc376bffc47027c6","entry":"coord_map","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"bc376bffc47027c6"}},{"code_sha256_prefix":"78cd2988e1168e96","entry":"coord_map","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"78cd2988e1168e96"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}