LRIM Graph Benchmark

Towards principled evaluation and exploration of long-range capabilities in graph learning.

R Reload
E Energy
Space Pause

Benchmark Features

⚛️

Physics-Grounded

The task is Energy prediction in the Ising-model, which is central to simulations with non-trivial system behavior.

🔬

Provable Long-Range

Long, non-trivial correlations at critical temperature where far nodes impact the enrgy prediction. Local-only predictions are limited compared to oracle predictor.

🎛️

Controllable Difficulty

Chaning the size and sigma of the system directly impacts task difficulty, allowing systematic evaluation and control across complexity levels.

📶

Continuous Feedback Signal

Get a continous feedback signal both during training and evaluation of your models that goes beyond "binary all or nothing".

Available Datasets

Diverse collection of graph datasets for comprehensive evaluation

LRIM-16

256 nodes Easy Hard
16×16
256
32×32
1K
64×64
4K
128×128
16K
256×256
65K

Resources

📄

LRIM Paper

Read the full LRIM Graph Benchmark paper with detailed methodology, experimental results, and long-range analysis.

arXiv:2024.xxxxx
🤗

Datasets

Download the complete benchmark datasets with all size variations and difficulty levels directly on HuggingFace or use the provided PyG Dataloader.

HuggingFace Datasets
💻

Source Code

Get example code, include the dataset in your own codebase with the provided dataloader or inspect model checkpoints.

GitHub Repository

Get Started

Quick setup to start using the LRIM Graph Benchmark

# Clone the entire repository (includes training and examples)
git clone https://github.com/iJorl/lrim_graph_benchmark.git
cd lrim_graph_benchmark/example
./setup.sh

# Or just download the dataloader
wget https://raw.githubusercontent.com/iJorl/lrim_graph_benchmark/main/lrim_loader.py
# wget https://raw.githubusercontent.com/iJorl/lrim_graph_benchmark/main/lrim_loader.py
# Requires PyTorch Geometric and HuggingFace
from lrim_loader import LRIM
from torch_geometric.loader import DataLoader

# Load dataset
dataset = LRIM(root='data/', name='lrim_16_0.6_10k')
splits = dataset.get_idx_split()

# Create data loaders
train_loader = DataLoader(dataset[splits['train']], shuffle=True)
val_loader = DataLoader(dataset[splits['val']])
test_loader = DataLoader(dataset[splits['test']])
Loading example code...

Ready to Explore?

Dive deeper into interactive visualizations, live benchmarks, and detailed analysis tools.

Launch Explorer