{"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/finn-a-framework-for-fast-scalable-binarized","title":"FINN: A Framework for Fast, Scalable Binarized Neural Network Inference","arxiv_id":"1612.07119","date":"2016-12-01","proceeding":null,"authors":["Yaman Umuroglu","Nicholas J. Fraser","Giulio Gambardella","Michaela Blott","Philip Leong","Magnus Jahre","Kees Vissers"],"abstract":"Research has shown that convolutional neural networks contain significant\nredundancy, and high classification accuracy can be obtained even when weights\nand activations are reduced from floating point to binary values. In this\npaper, we present FINN, a framework for building fast and flexible FPGA\naccelerators using a flexible heterogeneous streaming architecture. By\nutilizing a novel set of optimizations that enable efficient mapping of\nbinarized neural networks to hardware, we implement fully connected,\nconvolutional and pooling layers, with per-layer compute resources being\ntailored to user-provided throughput requirements. On a ZC706 embedded FPGA\nplatform drawing less than 25 W total system power, we demonstrate up to 12.3\nmillion image classifications per second with 0.31 {\\mu}s latency on the MNIST\ndataset with 95.8% accuracy, and 21906 image classifications per second with\n283 {\\mu}s latency on the CIFAR-10 and SVHN datasets with respectively 80.1%\nand 94.9% accuracy. To the best of our knowledge, ours are the fastest\nclassification rates reported to date on these benchmarks.","url_abs":"http://arxiv.org/abs/1612.07119v1","url_pdf":"http://arxiv.org/pdf/1612.07119v1.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":"finn-a-framework-for-fast-scalable-binarized","repo_url":"https://github.com/Amdga/BNN-MSc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"finn-a-framework-for-fast-scalable-binarized","repo_url":"https://github.com/Xilinx/BNN-PYNQ","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"finn-a-framework-for-fast-scalable-binarized","repo_url":"https://github.com/bnna-project/bnna","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"classification","task_name":"General Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1612.07119","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1612.07119"}},"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/Xilinx/BNN-PYNQ","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bnna-project/bnna","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Amdga/BNN-MSc","reach":{"status":"ok"}}],"summary":{"ran_honours":3,"unverified":9},"by_repo_kind":{"listed":{"samples":12,"ran":3,"repositories":2}},"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":3,"samples":[{"code_sha256_prefix":"b37d44e48b97072b","entry":"incrementing_payload","repo":"bnna-project/bnna","repo_kind":"listed","path":"sim/popcount/test_popcount.py","file_url":"https://github.com/bnna-project/bnna/blob/HEAD/sim/popcount/test_popcount.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b37d44e48b97072b"}},{"code_sha256_prefix":"803e5d383bb9679a","entry":"pcnt_2p_n","repo":"bnna-project/bnna","repo_kind":"listed","path":"sim/popcount/test_popcount.py","file_url":"https://github.com/bnna-project/bnna/blob/HEAD/sim/popcount/test_popcount.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"803e5d383bb9679a"}},{"code_sha256_prefix":"193a5339db937b0a","entry":"prbs_payload","repo":"bnna-project/bnna","repo_kind":"listed","path":"sim/popcount/test_popcount.py","file_url":"https://github.com/bnna-project/bnna/blob/HEAD/sim/popcount/test_popcount.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"193a5339db937b0a"}},{"code_sha256_prefix":"fed41a96f2a7d638","entry":"adjusted_crop","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/augmentors.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/augmentors.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fed41a96f2a7d638"}},{"code_sha256_prefix":"5759de2fbd7d9890","entry":"available_params","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/bnn.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/bnn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5759de2fbd7d9890"}},{"code_sha256_prefix":"d3858d2602a668dc","entry":"get_junk_class","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/gtsrb.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/gtsrb.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d3858d2602a668dc"}},{"code_sha256_prefix":"97194e2069915dc5","entry":"linear_rotations","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/augmentors.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/augmentors.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"97194e2069915dc5"}},{"code_sha256_prefix":"3b5692620cc5c473","entry":"padTo","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/finnthesizer.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/finnthesizer.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3b5692620cc5c473"}},{"code_sha256_prefix":"f2ada274f875ba8b","entry":"printConvDefines","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/finnthesizer.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/finnthesizer.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f2ada274f875ba8b"}},{"code_sha256_prefix":"358250508facc715","entry":"printFCDefines","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/finnthesizer.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/finnthesizer.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"358250508facc715"}},{"code_sha256_prefix":"5e3fbdc61268158d","entry":"random_rotations","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/augmentors.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/augmentors.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5e3fbdc61268158d"}},{"code_sha256_prefix":"f0d565fdaca0c6a1","entry":"square_image","repo":"Xilinx/BNN-PYNQ","repo_kind":"listed","path":"bnn/src/training/gtsrb.py","file_url":"https://github.com/Xilinx/BNN-PYNQ/blob/HEAD/bnn/src/training/gtsrb.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f0d565fdaca0c6a1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}