{"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/splinecam-exact-visualization-and","title":"SplineCam: Exact Visualization and Characterization of Deep Network Geometry and Decision Boundaries","arxiv_id":"2302.12828","date":"2023-02-24","proceeding":"CVPR 2023 1","authors":["Ahmed Imtiaz Humayun","Randall Balestriero","Guha Balakrishnan","Richard Baraniuk"],"abstract":"Current Deep Network (DN) visualization and interpretability methods rely heavily on data space visualizations such as scoring which dimensions of the data are responsible for their associated prediction or generating new data features or samples that best match a given DN unit or representation. In this paper, we go one step further by developing the first provably exact method for computing the geometry of a DN's mapping - including its decision boundary - over a specified region of the data space. By leveraging the theory of Continuous Piece-Wise Linear (CPWL) spline DNs, SplineCam exactly computes a DNs geometry without resorting to approximations such as sampling or architecture simplification. SplineCam applies to any DN architecture based on CPWL nonlinearities, including (leaky-)ReLU, absolute value, maxout, and max-pooling and can also be applied to regression DNs such as implicit neural representations. Beyond decision boundary visualization and characterization, SplineCam enables one to compare architectures, measure generalizability and sample from the decision boundary on or off the manifold. Project Website: bit.ly/splinecam.","url_abs":"https://arxiv.org/abs/2302.12828v2","url_pdf":"https://arxiv.org/pdf/2302.12828v2.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":"splinecam-exact-visualization-and","repo_url":"https://github.com/ahmedimtiazprio/splinecam","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.12828","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.12828"}},"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/ahmedimtiazprio/splinecam","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"97296af4c6809fbd","entry":"centrality","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/utils.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/utils.py","link_basis":"harvester_set","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":"97296af4c6809fbd"}},{"code_sha256_prefix":"2224961f4642cfe9","entry":"find_intersection_2D","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/graph.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/graph.py","link_basis":"harvester_set","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":"2224961f4642cfe9"}},{"code_sha256_prefix":"7aac90f6b8284800","entry":"get_intersection_pattern","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/graph.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/graph.py","link_basis":"harvester_set","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":"7aac90f6b8284800"}},{"code_sha256_prefix":"e8adb92f78fc66d6","entry":"make_line_2D","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/graph.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/graph.py","link_basis":"harvester_set","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":"e8adb92f78fc66d6"}},{"code_sha256_prefix":"68e77b6a0c56d250","entry":"region_area_2d","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/utils.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/utils.py","link_basis":"harvester_set","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":"68e77b6a0c56d250"}},{"code_sha256_prefix":"d13139f6d7bfd8d6","entry":"vgg11_bn","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/models.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/models.py","link_basis":"harvester_set","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":"d13139f6d7bfd8d6"}},{"code_sha256_prefix":"af5f5c8e7c5775d4","entry":"vgg16_bn","repo":"ahmedimtiazprio/splinecam","repo_kind":"official","path":"splinecam/models.py","file_url":"https://github.com/ahmedimtiazprio/splinecam/blob/HEAD/splinecam/models.py","link_basis":"harvester_set","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":"af5f5c8e7c5775d4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}