JacobiConv
How Powerful are Spectral Graph Neural Networks
Install / Use
/learn @GraphPKU/JacobiConvREADME
How Powerful are Spectral Graph Neural Networks
This repository is the official implementation of the model in the following paper:
Xiyuan Wang, Muhan Zhang: How Powerful are Spectral Graph Neural Networks. ICML 2022
@article{JacobiConv,
author = {Xiyuan Wang and
Muhan Zhang},
title = {How Powerful are Spectral Graph Neural Networks},
journal = {ICML},
year = {2022}
}
Requirements
Tested combination: Python 3.9.6 + PyTorch 1.9.0 + PyTorch_Geometric 2.0.3 + PyTorch Sparse 0.6.12
Other required python libraries include: numpy, scikit-learn, optuna, seaborn etc.
Reproduce Our Results
Image Filter Tasks
To reproduce results of JacobiConv on image datasets:
python ImgFilter.py --test --repeat 1 --dataset $dataset --fixalpha
where $dataset is selected from low, high, rejection, band, and comb.
To reproduce results of linear GNN with other bases:
python ImgFilter.py --test --$basis --repeat 1 --dataset $dataset --fixalpha
where $basis is selected from cheby, power, and bern.
We use optuna to select hyperparameters.
python ImgFilter.py --optruns 100 --dataset $dataset --path $dir --name $dataset
The record file of optuna will be put in directory $dir.
Real-World Tasks
To reproduce results of JacobiConv on real-world datasets:
python RealWorld.py --test --repeat 10 --dataset $dataset --split dense
where $dataset is selected from pubmed, computers, squirrel, photo, chameleon, film, cora, citeseer, texas, cornell.
To reproduce results of linear GNN with other bases:
python RealWorld.py --test --$basis --fixalpha --repeat 10 --dataset $dataset --split dense
where $basis is selected from cheby, power, and bern.
To reproduce other ablation studies:
Unifilter
python RealWorld.py --test --repeat 10 --dataset $dataset --split dense --sole
No-PCD
python RealWorld.py --test --repeat 10 --dataset $dataset --split dense --fixalpha
NL-RES
python RealWorld.py --test --repeat 10 --dataset $dataset --split dense --resmultilayer
NL
python RealWorld.py --test --repeat 10 --dataset $dataset --split dense --multilayer
To select hyperparameters:
python RealWorld.py --repeat 3 --optruns 400 --split dense --dataset $dataset --path $dir --name $dataset
The record file of optuna will be put in directory $dir.
Related Skills
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
50PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
pm
PM Agent Rule This rule is triggered when the user types `@pm` and activates the Product Manager agent persona.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.
