AlgRUC/JittorGeometric
AlgRUC/JittorGeometric has 1,198 GitHub stars and 197 forks. GitHot measured 0 in 7 days. Last checked 2026-11-10 22:10 UTC. Last push 2026-06-03.
JittorGeometric is a Jittor-based graph machine learning library.
What you can do
- 🚀 JIT Compilation: Leverage Just-In-Time compilation for dynamic code modification without pre-compilation overhead
- ⚡ Optimized Sparse Operations: High-performance sparse matrix computations with CuSparse acceleration
- 🎯 Comprehensive Model Zoo: 40+ implemented models covering classic, spectral, dynamic, molecular, and transformer-based GNNs
- 📊 Rich Dataset Support: Built-in loaders for popular graph datasets (Planetoid, OGB, Reddit, etc.)
측정된 스타 증가
- in 24h
- 업데이트 지연
- in 7 days
- 0
- in 15 days
- 업데이트 지연
- in 1 month
- 업데이트 지연
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalJittorGeometric 2.0
A Comprehensive Graph Machine Learning Library Built on Jittor
Documentation • Examples • Installation • Quick Start • Models
Overview
JittorGeometric 2.0 is a state-of-the-art graph machine learning library built on the Jittor framework. As a Chinese-developed deep learning library, JittorGeometric provides comprehensive support for Graph Neural Networks (GNNs) research and applications, featuring enhanced performance, flexibility, and scalability.
🌟 Key Features
Core Capabilities
- 🚀 JIT Compilation: Leverage Just-In-Time compilation for dynamic code modification without pre-compilation overhead
- ⚡ Optimized Sparse Operations: High-performance sparse matrix computations with CuSparse acceleration
- 🎯 Comprehensive Model Zoo: 40+ implemented models covering classic, spectral, dynamic, molecular, and transformer-based GNNs
- 📊 Rich Dataset Support: Built-in loaders for popular graph datasets (Planetoid, OGB, Reddit, etc.)
New in Version 2.0
- 🔄 Distributed Training: Multi-GPU and multi-node training support with MPI
- 🌊 Dynamic Graph Processing: Event-based dynamic graph support with parallel processing
- 📦 Mini-batch Support: Efficient mini-batch training for large-scale graphs
- 🔧 Ascend-GNN: GNN for NPU
- 🎛️ Extended Model Categories: Graph transformers, self-supervised learning, and recommendation systems
Quick Tour
### Dataset Selection
import os.path as osp
from jittor_geometric.datasets import Planetoid
import jittor_geometric.transforms as T
import jittor as jt
dataset = 'cora'
path = osp.join(osp.dirname(osp.realpath(__file__)), '.', 'data', dataset)
dataset = Planetoid(path, dataset, transform=T.NormalizeFeatures())
data = dataset[0]
v_num = data.x.shape[0]
### Data Preprocess
from jittor_geometric.ops import cootocsr,cootocsc
from jittor_geometric.nn.conv.gcn_conv import gcn_norm
edge_index, edge_weight = data.edge_index, data.edge_attr
edge_index, edge_weight = gcn_norm(
edge_index, edge_weight,v_num,
improved=False, add_self_loops=True)
with jt.no_grad():
data.csc = cootocsc(edge_index, edge_weight, v_num)
data.csr = cootocsr(edge_index, edge_weight, v_num)
### Model Definition
from jittor import nn
from jittor_geometric.nn import GCNConv
class GCN(nn.Module):
def __init__(self, dataset, dropout=0.8):
super(GCN, self).__init__()
self.conv1 = GCNConv(in_channels=dataset.num_features, out_channels=256)
self.conv2 = GCNConv(in_channels=256, out_channels=dataset.num_classes)
self.dropout = dropout
def execute(self):
x, csc, csr = data.x, data.csc, data.csr
x = nn.relu(self.conv1(x, csc, csr))
x = nn.dropout(x, self.dropout, is_train=self.training)
x = self.conv2(x, csc, csr)
return nn.log_softmax(x, dim=1)
### Training
model = GCN(dataset)
optimizer = nn.Adam(params=model.parameters(), lr=0.001, weight_decay=5e-4)
for epoch in range(200):
model.train()
pred = model()[data.train_mask]
label = data.y[data.train_mask]
loss = nn.nll_loss(pred, label)
optimizer.step(loss)
Supported Models
JittorGeometric 2.0 includes implementations of 40+ state-of-the-art GNN models:
Classic Graph Neural Networks
| Model | Year | Venue | Description |
|---|---|---|---|
| ChebNet | 2016 | NeurIPS | Spectral graph convolutions |
| GCN | 2017 | ICLR | Graph Convolutional Networks |
| GraphSAGE | 2017 | NeurIPS | Inductive graph learning |
| GAT | 2018 | ICLR | Graph Attention Networks |
| SGC | 2019 | ICML | Simplified Graph Convolution |
| APPNP | 2019 | ICLR | Approximate Personalized Propagation |
| GCNII | 2020 | ICML | Deeper Graph Convolutional Networks |
Spectral Graph Neural Networks
| Model | Year | Venue | Description |
|---|---|---|---|
| GPRGNN | 2021 | ICLR | Generalized PageRank GNN |
| BernNet | 2021 | NeurIPS | Bernstein polynomial filters |
| ChebNetII | 2022 | NeurIPS | Improved Chebyshev filters |
| EvenNet | 2022 | NeurIPS | Even polynomial filters |
| OptBasis | 2023 | ICML | Optimal basis functions |
Dynamic Graph Neural Networks
| Model | Year | Venue | Description |
|---|---|---|---|
| JODIE | 2019 | SIGKDD | Temporal interaction networks |
| DyRep | 2019 | ICLR | Dynamic representation learning |
| TGN | 2020 | ArXiv | Temporal Graph Networks |
| GraphMixer | 2022 | ICLR | MLP-based dynamic graphs |
| Dygformer | 2023 | NeurIPS | Dynamic graph transformers |
Molecular Graph Neural Networks
| Model | Year | Venue | Description |
|---|---|---|---|
| SchNet | 2017 | NeurIPS | Continuous-filter convolutions |
| DimeNet | 2020 | ICLR | Directional message passing |
| EGNN | 2021 | ICML | Equivariant Graph Networks |
| Graphormer | 2021 | NeurIPS | Graph transformers for molecules |
| SphereNet | 2022 | ICLR | Spherical message passing |
| Uni-Mol | 2023 | ICLR | Universal molecular representation |
| Transformer-M | 2023 | ICLR | Molecular transformers |
Graph Self-supervised Learning
| Model | Year | Venue | Description |
|---|---|---|---|
| DGI | 2019 | ICLR | Deep Graph Infomax |
| MVGRL | 2020 | ICML | Multi-view contrastive learning |
| GRACE | 2020 | ICML | Graph contrastive learning |
| PolyGCL | 2024 | ICLR | Polynomial graph contrastive learning |
Graph Recommendation
| Model | Year | Venue | Description |
|---|---|---|---|
| SASREC | 2018 | ICDM | Self-attentive sequential recommendation |
| SGNNHN | 2020 | CIKM | Set-based GNN for heterogeneous networks |
| CRAFT | 2025 | NeurIPS | Cross-attention recommendation |
Graph Embedding
| Model | Year | Venue | Description |
|---|---|---|---|
| Deepwalk | 2014 | KDD | Random walk embeddings |
| LINE | 2015 | WWW | Large-scale information network embedding |
| Node2Vec | 2016 | KDD | Scalable feature learning |
| LightGCN | 2020 | SIGIR | Simplified GCN for recommendation |
| DirectAU | 2022 | KDD | Direct alignment and uniformity |
| SimGCL | 2024 | KAIS | Simple graph contrastive learning |
| XSimGCL | 2024 | TKDE | Extreme simple graph contrastive learning |
Graph Transformers
| Model | Year | Venue | Description |
|---|---|---|---|
| SGFormer | 2023 | NeurIPS | Simplifying graph transformers |
| NAGFormer | 2023 | ICLR | Neighborhood aggregation transformers |
| PolyFormer | 2024 | KDD | Polynomial-based graph transformers |
Installation
Step-by-Step Installation
Create a conda environment
conda create -n jittorgeometric python=3.10 conda activate jittorgeometricInstall Jittor
python -m pip install git+https://github.com/Jittor/jittor.gitor follow the Jittor official documentation.
Install dependencies
pip install astunparse==1.6.3 autograd==1.7.0 cupy==13.3.0 numpy==1.24.0 \ pandas==2.2.3 Pillow==11.1.0 PyMetis==2023.1.1 six==1.16.0 \ pyparsing==3.2 scipy==1.15.1 setuptools==69.5.1 sympy==1.13.3 \ tqdm==4.66.4 einops huggingface_hub==0.27.1 networkx==3.4.2 \ scikit-learn==1.7.1 rdkit==2025.3.5 seaborn==0.13.2 \ alive-progress==3.3.0Install JittorGeometric
git clone https://github.com/AlgRUC/JittorGeometric.git cd JittorGeometric pip install .Verify installation
python examples/gcn_example.py
For Distributed Training (Optional)
Install MPI support:
conda install -c conda-forge openmpi=4.0.5
conda install -c conda-forge mpi4py
📋 Requirements
- Python 3.10+
- CUDA 11.0+ (for GPU support)
- Jittor 1.3.0+
- CuPy (for CUDA operations)
- NumPy, SciPy, NetworkX
- For distributed training: OpenMPI 4.0.5+ and mpi4py
🔄 Distributed Training
JittorGeometric 2.0 supports distributed training across multiple GPUs and nodes:
Single Machine Multi-GPU
mpiexec -n 2 python dist_gcn.py --num_parts 2 --dataset reddit
Multi-Node Training
- Configure your hostfile:
172.31.195.15 slots=1
172.31.195.16 slots=1
- Partition the graph:
python dist_partition.py --dataset reddit --num_parts 2 --use_gdc
- Launch distributed training:
mpirun -n 2 --hostfile hostfile \
--prefix /path/to/conda/env \
python dist_gcn.py --num_parts 2 --dataset reddit
For detailed distributed training setup, see examples/README.md.
🧪 Testing
Run a specific example:
python examples/gcn_example.py
📖 Documentation
Comprehensive documentation is available at https://algruc.github.io/JittorGeometric/index.html
👥 Contributors
This project is actively maintained by the JittorGeometric Team at Renmin University of China and Northeastern University.
Core Team
- Project Lead: [email protected]
- Contributors: See Contributors
📄 License
JittorGeometric is released under the Apache 2.0 License.
🙏 Acknowledgments
- Jittor Team for the deep learning framework
- PyTorch Geometric for inspiration
- All contributors and users of JittorGeometric
관련 프로젝트 살펴보기
tensorflow/tensorflow
모두를 위한 오픈소스 머신러닝 프레임워크
201,427 스타huggingface/transformers
🤗 Transformers: 텍스트, 비전, 오디오, 멀티모달 분야의 최첨단 머신러닝 모델을 위한 모델 정의 프레임워크로, 추론과 학습을 모두 지원합니다.
168,711 스타AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion 웹 UI
165,289 스타Comfy-Org/ComfyUI
그래프와 노드로 구성된 인터페이스를 갖춘, 가장 강력하고 모듈성이 뛰어난 확산 모델 GUI, API, 백엔드입니다. 세계에서 가장 빠른 로컬 추론 엔진입니다.
146,271 스타