feat: integrate RGT model with Riemannian manifold support#251
Open
Kindin-X wants to merge 6 commits into
Open
feat: integrate RGT model with Riemannian manifold support#251Kindin-X wants to merge 6 commits into
Kindin-X wants to merge 6 commits into
Conversation
- Add RGT (Riemannian Graph Transformer) model with Lorentz/Sphere/Euclidean manifolds - Add cross-manifold attention and vector quantization (VQ) modules - Add MoleculeGNN model for molecular property prediction - Add manifold math utilities, data loaders, and training/eval tooling - Add Airports and KarateClub datasets - Move RGT-specific utils from gammagl/utils/ to examples/rgt/utils.py - Remove GammaGL_Reference_Guide.md - Remove run_server.py from tracking
- setup.py: drop local portability patches, return to upstream original - .gitignore: remove project-specific ignores (run_server.py, iteration_log.md, PR_Description.md)
…ve hardcoded backend - Merge rgt_heads into rgt.py, move mappings to examples/rgt/ - Merge 4 manifold files into rgt_layers.py - Revert mpops/torch.py, ops/*/__init__.py, download.py to upstream - Remove hardcoded TL_BACKEND from all RGT files - Set TL_BACKEND via run_server.py environment
- Replace tlx.isnan/tlx.isinf with tlx.is_nan/tlx.is_inf across all RGT files - Fix sample_sequence_fn call to use positional arg instead of keyword - Add tokens propagation from dataset to batch in ExtractNodeLoader.__iter__ - Add CPU deserialization fallback for cached pickle files on GPU-less servers
Merge rgt_mappings.py into utils.py (class_maps dict), merge rgt_pretrain.py and rgt_supervised.py into train.py. This follows the pattern used by other examples (single utils + train pair). All logic preserved unchanged.
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.
Description
This PR integrates the RGT (Riemannian Graph Transformer) model into GammaGL,. It extends graph learning capabilities to hyperbolic (Lorentz) and spherical manifolds. The implementation includes cross-manifold attention and Riemannian vector quantization for self-supervised pre-training, along with robust downstream adapters for node classification, link prediction, graph classification, and few-shot node classification.
Checklist
Please feel free to remove inapplicable items for your PR.
or have been fixed to be compatible with this change
Changes
rgt.py) and downstream task adapters (rgt_heads.pyfor NC, LP, GC, and Few-shot NC).geoopt-wrapped manifold operations (Lorentz, Sphere, Euclidean, Product), Cross-Manifold Attention (rgt_attention.py), and Riemannian/Euclidean Vector Quantization (vq_*.py).rgt_loader.py) and added the Airports and GitHub datasets along with RGT class mappings.examples/rgt/), and added stable manifold math utilities (manifold_math.py)._gspmm_fallback) intorch.pyfor environments lacking C++ extensions, improveddownload.pywith size validation/re-downloading, and addedeinopstosetup.pydependencies.