{"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/faenet-frame-averaging-equivariant-gnn-for","title":"FAENet: Frame Averaging Equivariant GNN for Materials Modeling","arxiv_id":"2305.05577","date":"2023-04-28","proceeding":null,"authors":["Alexandre Duval","Victor Schmidt","Alex Hernandez Garcia","Santiago Miret","Fragkiskos D. Malliaros","Yoshua Bengio","David Rolnick"],"abstract":"Applications of machine learning techniques for materials modeling typically involve functions known to be equivariant or invariant to specific symmetries. While graph neural networks (GNNs) have proven successful in such tasks, they enforce symmetries via the model architecture, which often reduces their expressivity, scalability and comprehensibility. In this paper, we introduce (1) a flexible framework relying on stochastic frame-averaging (SFA) to make any model E(3)-equivariant or invariant through data transformations. (2) FAENet: a simple, fast and expressive GNN, optimized for SFA, that processes geometric information without any symmetrypreserving design constraints. We prove the validity of our method theoretically and empirically demonstrate its superior accuracy and computational scalability in materials modeling on the OC20 dataset (S2EF, IS2RE) as well as common molecular modeling tasks (QM9, QM7-X). A package implementation is available at https://faenet.readthedocs.io.","url_abs":"https://arxiv.org/abs/2305.05577v1","url_pdf":"https://arxiv.org/pdf/2305.05577v1.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":"faenet-frame-averaging-equivariant-gnn-for","repo_url":"https://github.com/rolnicklab/ocp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.05577","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.05577"}},"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/rolnicklab/ocp","reach":null}],"summary":{"ran_honours":1,"ran_draft_wrong":2},"by_repo_kind":{"community":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"d18fb3d887eb1870","entry":"getMax","repo":"sharford5/SFA_Python","repo_kind":"community","path":"src/classification/BOSSEnsembleClassifier.py","file_url":"https://github.com/sharford5/SFA_Python/blob/HEAD/src/classification/BOSSEnsembleClassifier.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":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d18fb3d887eb1870"}},{"code_sha256_prefix":"97502aa915fd8ab8","entry":"sfaToWord","repo":"sharford5/SFA_Python","repo_kind":"community","path":"src/transformation/SFA.py","file_url":"https://github.com/sharford5/SFA_Python/blob/HEAD/src/transformation/SFA.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"97502aa915fd8ab8"}},{"code_sha256_prefix":"450d6a517919bad2","entry":"sfaToWordList","repo":"sharford5/SFA_Python","repo_kind":"community","path":"src/transformation/SFA.py","file_url":"https://github.com/sharford5/SFA_Python/blob/HEAD/src/transformation/SFA.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":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"450d6a517919bad2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}