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.

View Paper →
🤗

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/example-setup/lrim_loader.py
# wget https://raw.githubusercontent.com/iJorl/lrim_graph_benchmark/main/example-setup/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