# pyg-team/pytorch_geometric

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pyg-team-pytorch-geometric).**

23,484 stars · 3,954 forks · Python · mit

## Links

- GitHub: https://github.com/pyg-team/pytorch_geometric
- Homepage: https://pyg.org
- awesome-repositories: https://awesome-repositories.com/repository/pyg-team-pytorch-geometric.md

## Topics

`deep-learning` `geometric-deep-learning` `graph-convolutional-networks` `graph-neural-networks` `pytorch`

## Description

This project is a deep learning library designed for training neural networks on irregular data structures, including graphs, 3D meshes, and point clouds. It functions as an extension to the PyTorch framework, providing specialized layers and kernels that enable the processing of complex, non-Euclidean information.

The library distinguishes itself through a geometric deep learning toolkit that manages the unique requirements of graph-based data. It utilizes sparse matrix-based message passing to aggregate information across nodes and employs dynamic computational graph construction to accommodate irregular structures that may change shape during training. To handle large-scale datasets, the framework includes mini-batch partitioning and hardware-agnostic abstractions that allow for distributed training across multiple processors.

The platform covers a broad range of capabilities, including automated data preprocessing, feature engineering, and experimental workflow management. It also provides performance optimization tools, such as just-in-time kernel compilation, to accelerate training and inference tasks across various computing backends.

## Tags

### Artificial Intelligence & ML

- [Deep Learning Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-libraries.md) — Provides specialized layers and kernels for training neural networks on irregular data structures like graphs and 3D meshes within the PyTorch ecosystem.
- [Neural Network Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-frameworks.md) — Provides a deep learning framework for training neural networks on irregular data structures like graphs, 3D meshes, and point clouds.
- [Graph Learning](https://awesome-repositories.com/f/artificial-intelligence-ml/graph-learning.md) — Builds and trains deep learning models that learn from irregular data structures like graphs, 3D meshes, and point clouds.
- [Neural Network Trainers](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-networks/neural-network-trainers.md) — Executes deep learning methods on irregular data structures like graphs and 3D meshes using standard neural network architectures. ([source](https://pytorch-geometric.readthedocs.io))
- [Deep Learning Toolkits](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-toolkits.md) — Provides a collection of tools for preprocessing, batching, and scaling machine learning models across large-scale graph and point cloud datasets.
- [Dynamic Graph Builders](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation/dynamic-graph-builders.md) — Builds neural network execution paths on the fly to support irregular graph structures that change shape during training.
- [Just-In-Time Kernel Compilers](https://awesome-repositories.com/f/artificial-intelligence-ml/just-in-time-kernel-compilers.md) — Translates high-level graph operations into optimized machine-specific code at runtime to maximize hardware utilization.
- [Large-Scale Training Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/large-scale-training-frameworks.md) — Distributes model training across multiple graphics processors and remote computing backends to process massive datasets. ([source](https://pytorch-geometric.readthedocs.io))
- [Sparse Computing Kernels](https://awesome-repositories.com/f/artificial-intelligence-ml/sparse-computing-kernels.md) — Computes graph neural network layers by performing sparse matrix multiplications to aggregate information from neighboring nodes efficiently.
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-abstraction-layers.md) — Dispatches tensor operations to various backends through a unified interface that hides the complexity of multi-device distribution.
- [Deep Learning Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/training-algorithms/deep-learning-optimization.md) — Compiles and accelerates neural network layers using just-in-time processing and specialized hardware instructions to improve training and inference speed.
- [Model Performance Optimizations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/training-systems/model-performance-optimizations.md) — Compiles machine learning models using just-in-time processing and memory-efficient aggregation techniques to speed up training and inference. ([source](https://pytorch-geometric.readthedocs.io))
- [Data Transformation Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/data-transformation-pipelines.md) — Applies modular preprocessing steps to raw graph inputs through a functional interface that standardizes data formats for neural network consumption.
- [Deep Learning Research](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-research.md) — Tracks and benchmarks performance results across various graph-based model configurations to maintain records of experimental progress.
- [Experimentation Workflows](https://awesome-repositories.com/f/artificial-intelligence-ml/experimentation-workflows.md) — Tracks, benchmarks, and manages deep learning experiments using structured interfaces to maintain clear records of performance results. ([source](https://pytorch-geometric.readthedocs.io))

### Data & Databases

- [Data Preprocessing Pipelines](https://awesome-repositories.com/f/data-databases/data-preprocessing-pipelines.md) — Automates the transformation and feature engineering of raw graph or point cloud data to prepare it for neural network input.
- [Graph Partitioning Utilities](https://awesome-repositories.com/f/data-databases/graph-computing-systems/graph-processing/graph-partitioning-utilities.md) — Segments large graph structures into smaller subgraphs to allow memory-efficient processing of datasets that exceed single-device capacity.
- [Batched Data Loading](https://awesome-repositories.com/f/data-databases/data-pipeline-orchestration/data-engineering-pipelines/batched-data-loading.md) — Loads small segments of graph data from large collections to maintain stable memory usage during training. ([source](https://pytorch-geometric.readthedocs.io))
- [Data Transformation](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation.md) — Applies automated preprocessing and feature engineering steps to raw graph or mesh data to prepare information for neural networks. ([source](https://pytorch-geometric.readthedocs.io))
