Track: Track2; Team name: rayquaza; Model: HyperGCN - #413
Open
Rubiel1 wants to merge 22 commits into
Open
Conversation
…ected it with topobench.model
Updated hypergraph_convolution.yaml to clarify loss handling and added comments for readout configuration.
Added a function to convert incidence matrix to hyperedges, updating the HyperGraphConvolution class to utilize this function.
This file contains unit tests for the HyperGraphConvolution class, covering various functionalities including incidence matrix conversion, forward and backward passes, and parameter initialization.
Add unit tests for hypergraph Laplacian functions including Laplacian, update, adjacency, symnormalise, normalise, and ssm2tst.
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
Description
Adds
hypergraph/hypergraph_convolution, an implementation of HyperGCN(Yadati et al., HyperGCN: A New Method for Training Graph Convolutional
Networks on Hypergraphs, NeurIPS 32, 2019, pp. 1509–1520).
Each hyper edge is approximated by an edge between its two maximally disparate
nodes (found via random projection of the current node features), plus edges
from every remaining node — the mediators — to both endpoints. A GCN is then
run on the resulting normalised graph.
reapproximate: Truerebuilds thisapproximation every forward pass, as in the original method.
Contents:
topobench/nn/backbones/hypergraph/hypergraph_convolution.pyconfigs/model/hypergraph/hypergraph_convolution.yamltest/nn/backbones/hypergraph/test_hypergraph_convolution.py(10 tests)test/transforms/liftings/graph2hypergraph/test_hypergraph_laplacian.py(7 tests)test/pipeline/test_pipeline.py— model added toMODELS2026_tdl_challenge/outputs/hgconv_reapprox/results.jsonIssue
Additional context
run_challenge_gridandsave_challenge_artifactsentry points, sharded one run per invocation to fit a cluster CPU-time limit.utils.pyand thenotebook are unmodified.
reapproximate: Truecosts roughly 8x per step versus reusing the incidencematrix, since the approximation involves a device sync and a Python loop over
hyperedges. Caching keyed on the topology would help where it is static.
evaluation applies it inductively, which is outside its original setting.