API Reference
The BRIDGE library consists of several core modules and subpackages that provide functionality for graph rewiring, sensitivity analysis, and experiment utilities.
Main Components
- models: GCN and SelectiveGCN implementations
- rewiring: Graph rewiring operations and pipelines
- training: Training loops for graph neural networks
- utils: Utility functions for graphs and matrices
- datasets: Synthetic graph dataset generation
- optimization: Hyperparameter optimization for GNNs
- sensitivity: Sensitivity and SNR analysis tools
Core Modules
bridge.models
The models
package provides implementations of Graph Convolutional Networks (GCNs) and their variants.
- GCN: Standard Graph Convolutional Network implementation
- HPGraphConv: High-Pass Graph Convolution layer
- SelectiveGCN: GCN that can selectively operate on different graph structures
bridge.rewiring
The rewiring
package contains functions for rewiring graph structures to optimize MPNN performance.
- run_bridge_pipeline: Main pipeline for running the BRIDGE rewiring process
- run_bridge_experiment: Function for running multiple rewiring trials across data splits
- run_iterative_bridge_pipeline: Iterative rewiring pipeline
- run_iterative_bridge_experiment: Repeated trials for iterative rewiring
- create_rewired_graph: Low-level function to create a rewired version of a graph
bridge.training
The training
package provides functions for training and evaluating graph neural networks.
- train: Train a GNN with early stopping
- train_selective: Train a selective GNN on multiple graph versions
bridge.utils
The utils
package includes utility functions for working with graphs and matrices.
- local_homophily: Compute local homophily for each node
- matrix_utils: Utilities for working with matrices
- graph_utils: Utilities for working with graphs
bridge.datasets
The datasets
package provides functionality for creating and working with graph datasets.
- SyntheticGraphDataset: Generate synthetic graphs with controllable properties
bridge.optimization
The optimization
package provides objective functions for hyperparameter optimization with Optuna.
- objective_gcn: Objective function for optimizing base GCN hyperparameters
- objective_rewiring: Objective function for optimizing rewiring parameters
- objective_iterative_rewiring: Objective for iterative rewiring
bridge.sensitivity
The sensitivity
package offers tools for sensitivity and SNR analysis of graph neural networks.
- SNR Estimation: Estimate the SNR of GNN outputs
- Sensitivity Analysis: Compute sensitivity measures for GNNs
- Feature Generation: Generate features with controlled covariance structure
Table of contents
- Feature Generation
- GCN
- HPGraphConv
- SNR Estimation
- SelectiveGCN
- Sensitivity Analysis
- SyntheticGraphDataset
- create_rewired_graph
- evaluate_metrics
- graph_utils
- homophily_metrics
- local_homophily
- matrix_utils
- objective_gcn
- objective_iterative_rewiring
- objective_rewiring
- run_bridge_experiment
- run_bridge_pipeline
- run_iterative_bridge_experiment
- run_iterative_bridge_pipeline
- train
- train_selective