{"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/digraf-diffeomorphic-graph-adaptive","title":"DiGRAF: Diffeomorphic Graph-Adaptive Activation Function","arxiv_id":"2407.02013","date":"2024-07-02","proceeding":null,"authors":["Krishna Sri Ipsit Mantri","Xinzhi Wang","Carola-Bibiane Schönlieb","Bruno Ribeiro","Beatrice Bevilacqua","Moshe Eliasof"],"abstract":"In this paper, we propose a novel activation function tailored specifically for graph data in Graph Neural Networks (GNNs). Motivated by the need for graph-adaptive and flexible activation functions, we introduce DiGRAF, leveraging Continuous Piecewise-Affine Based (CPAB) transformations, which we augment with an additional GNN to learn a graph-adaptive diffeomorphic activation function in an end-to-end manner. In addition to its graph-adaptivity and flexibility, DiGRAF also possesses properties that are widely recognized as desirable for activation functions, such as differentiability, boundness within the domain, and computational efficiency. We conduct an extensive set of experiments across diverse datasets and tasks, demonstrating a consistent and superior performance of DiGRAF compared to traditional and graph-specific activation functions, highlighting its effectiveness as an activation function for GNNs. Our code is available at https://github.com/ipsitmantri/DiGRAF.","url_abs":"https://arxiv.org/abs/2407.02013v2","url_pdf":"https://arxiv.org/pdf/2407.02013v2.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":"digraf-diffeomorphic-graph-adaptive","repo_url":"https://github.com/ipsitmantri/digraf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"digraf-diffeomorphic-graph-adaptive","repo_url":"https://github.com/ipsitmantri/DiTASK","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.02013","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.02013"}},"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/ipsitmantri/DiTASK","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ipsitmantri/digraf","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":4,"ran":4,"unverified":7},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"listed":{"samples":14,"ran":7,"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":"144d10b49baeb8a6","entry":"window_partition","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/swin_transformer_ditask.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/swin_transformer_ditask.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":2,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"144d10b49baeb8a6"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/seg_hrnet.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/seg_hrnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"299f2d40c6a8adc7","entry":"create_logger","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"logger.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/logger.py","link_basis":"harvester_set","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":"299f2d40c6a8adc7"}},{"code_sha256_prefix":"80c0c9e218ee946c","entry":"get_loss","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"mtl_loss_schemes.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/mtl_loss_schemes.py","link_basis":"harvester_set","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":"80c0c9e218ee946c"}},{"code_sha256_prefix":"16acc4b4a9200198","entry":"interpolate_linear_1d","repo":"ipsitmantri/digraf","repo_kind":"official","path":"src/activations.py","file_url":"https://github.com/ipsitmantri/digraf/blob/HEAD/src/activations.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"16acc4b4a9200198"}},{"code_sha256_prefix":"88ee397c7c5a7a3d","entry":"interpolate_to_support","repo":"ipsitmantri/digraf","repo_kind":"official","path":"src/activations.py","file_url":"https://github.com/ipsitmantri/digraf/blob/HEAD/src/activations.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"88ee397c7c5a7a3d"}},{"code_sha256_prefix":"7c89e5e716dec3fc","entry":"lora_filter","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/lora.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/lora.py","link_basis":"harvester_set","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":"7c89e5e716dec3fc"}},{"code_sha256_prefix":"368118c367337eb7","entry":"resize","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/segformer.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/segformer.py","link_basis":"harvester_set","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":"368118c367337eb7"}},{"code_sha256_prefix":"61bf152e6a42a184","entry":"window_reverse","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/swin_transformer_ditask.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/swin_transformer_ditask.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"61bf152e6a42a184"}},{"code_sha256_prefix":"c38f2ce46b296240","entry":"build_model","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/build.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/build.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":"c38f2ce46b296240"}},{"code_sha256_prefix":"e16d8a6cf1158855","entry":"build_mtl_model","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/build.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/build.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":"e16d8a6cf1158855"}},{"code_sha256_prefix":"eca7452105889f50","entry":"build_scheduler","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"lr_scheduler.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/lr_scheduler.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":"eca7452105889f50"}},{"code_sha256_prefix":"94066f7cf06fd028","entry":"map_old_state_dict_weights","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/lora.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/lora.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":"94066f7cf06fd028"}},{"code_sha256_prefix":"f3788eeccc68b1f0","entry":"mark_only_lora_as_trainable","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/lora.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/lora.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":"f3788eeccc68b1f0"}},{"code_sha256_prefix":"e6ea4b62b01edfb7","entry":"opts_to_key_value_list","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"config.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/config.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":"e6ea4b62b01edfb7"}},{"code_sha256_prefix":"5ebb5fe1837669a8","entry":"resize","repo":"ipsitmantri/DiTASK","repo_kind":"listed","path":"models/base_decode_head.py","file_url":"https://github.com/ipsitmantri/DiTASK/blob/HEAD/models/base_decode_head.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":"5ebb5fe1837669a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}