Skip to content

Track: Track2; Team name: rayquaza; Model: HyperGCN - #413

Open
Rubiel1 wants to merge 22 commits into
geometric-intelligence:mainfrom
luigipetti14:main
Open

Track: Track2; Team name: rayquaza; Model: HyperGCN#413
Rubiel1 wants to merge 22 commits into
geometric-intelligence:mainfrom
luigipetti14:main

Conversation

@Rubiel1

@Rubiel1 Rubiel1 commented Aug 1, 2026

Copy link
Copy Markdown

Checklist

  • My pull request has a clear and explanatory title.
  • My pull request passes the Linting test.
  • I added appropriate unit tests and I made sure the code passes all unit tests. (refer to comment below)
  • My PR follows PEP8 guidelines. (refer to comment below)
  • My code is properly documented, using numpy docs conventions, and I made sure the documentation renders properly.
  • I linked to issues and PRs that are relevant to this PR.

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: True rebuilds this
approximation every forward pass, as in the original method.

Contents:

  • topobench/nn/backbones/hypergraph/hypergraph_convolution.py
  • configs/model/hypergraph/hypergraph_convolution.yaml
  • test/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 to MODELS
  • 2026_tdl_challenge/outputs/hgconv_reapprox/results.json

Issue

Additional context

  • Grid results were produced with the run_challenge_grid and
    save_challenge_artifacts entry points, sharded one run per invocation to fit a cluster CPU-time limit. utils.py and the
    notebook are unmodified.
  • reapproximate: True costs roughly 8x per step versus reusing the incidence
    matrix, since the approximation involves a device sync and a Python loop over
    hyperedges. Caching keyed on the topology would help where it is static.
  • HyperGCN was proposed for transductive semi-supervised learning; this
    evaluation applies it inductively, which is outside its original setting.

luigipetti14 and others added 20 commits July 28, 2026 17:47
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.
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@gbg141 gbg141 added the track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs label Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants