pyg-nightly 2.7.0.dev20241009__py3-none-any.whl → 2.8.0.dev20251207__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyg-nightly might be problematic. Click here for more details.
- {pyg_nightly-2.7.0.dev20241009.dist-info → pyg_nightly-2.8.0.dev20251207.dist-info}/METADATA +77 -53
- {pyg_nightly-2.7.0.dev20241009.dist-info → pyg_nightly-2.8.0.dev20251207.dist-info}/RECORD +226 -189
- {pyg_nightly-2.7.0.dev20241009.dist-info → pyg_nightly-2.8.0.dev20251207.dist-info}/WHEEL +1 -1
- pyg_nightly-2.8.0.dev20251207.dist-info/licenses/LICENSE +19 -0
- torch_geometric/__init__.py +14 -2
- torch_geometric/_compile.py +9 -3
- torch_geometric/_onnx.py +214 -0
- torch_geometric/config_mixin.py +5 -3
- torch_geometric/config_store.py +1 -1
- torch_geometric/contrib/__init__.py +1 -1
- torch_geometric/contrib/explain/pgm_explainer.py +1 -1
- torch_geometric/data/batch.py +2 -2
- torch_geometric/data/collate.py +1 -3
- torch_geometric/data/data.py +109 -5
- torch_geometric/data/database.py +4 -0
- torch_geometric/data/dataset.py +14 -11
- torch_geometric/data/extract.py +1 -1
- torch_geometric/data/feature_store.py +17 -22
- torch_geometric/data/graph_store.py +3 -2
- torch_geometric/data/hetero_data.py +139 -7
- torch_geometric/data/hypergraph_data.py +2 -2
- torch_geometric/data/in_memory_dataset.py +2 -2
- torch_geometric/data/lightning/datamodule.py +42 -28
- torch_geometric/data/storage.py +9 -1
- torch_geometric/datasets/__init__.py +18 -1
- torch_geometric/datasets/actor.py +7 -9
- torch_geometric/datasets/airfrans.py +15 -17
- torch_geometric/datasets/airports.py +8 -10
- torch_geometric/datasets/amazon.py +8 -11
- torch_geometric/datasets/amazon_book.py +8 -9
- torch_geometric/datasets/amazon_products.py +7 -9
- torch_geometric/datasets/aminer.py +8 -9
- torch_geometric/datasets/aqsol.py +10 -13
- torch_geometric/datasets/attributed_graph_dataset.py +8 -10
- torch_geometric/datasets/ba_multi_shapes.py +10 -12
- torch_geometric/datasets/ba_shapes.py +5 -6
- torch_geometric/datasets/city.py +157 -0
- torch_geometric/datasets/dbp15k.py +1 -1
- torch_geometric/datasets/git_mol_dataset.py +263 -0
- torch_geometric/datasets/hgb_dataset.py +2 -2
- torch_geometric/datasets/hm.py +1 -1
- torch_geometric/datasets/instruct_mol_dataset.py +134 -0
- torch_geometric/datasets/md17.py +3 -3
- torch_geometric/datasets/medshapenet.py +145 -0
- torch_geometric/datasets/modelnet.py +1 -1
- torch_geometric/datasets/molecule_gpt_dataset.py +492 -0
- torch_geometric/datasets/molecule_net.py +3 -2
- torch_geometric/datasets/ppi.py +2 -1
- torch_geometric/datasets/protein_mpnn_dataset.py +451 -0
- torch_geometric/datasets/qm7.py +1 -1
- torch_geometric/datasets/qm9.py +1 -1
- torch_geometric/datasets/snap_dataset.py +8 -4
- torch_geometric/datasets/tag_dataset.py +462 -0
- torch_geometric/datasets/teeth3ds.py +269 -0
- torch_geometric/datasets/web_qsp_dataset.py +310 -209
- torch_geometric/datasets/wikics.py +2 -1
- torch_geometric/deprecation.py +1 -1
- torch_geometric/distributed/__init__.py +13 -0
- torch_geometric/distributed/dist_loader.py +2 -2
- torch_geometric/distributed/partition.py +2 -2
- torch_geometric/distributed/rpc.py +3 -3
- torch_geometric/edge_index.py +18 -14
- torch_geometric/explain/algorithm/attention_explainer.py +219 -29
- torch_geometric/explain/algorithm/base.py +2 -2
- torch_geometric/explain/algorithm/captum.py +1 -1
- torch_geometric/explain/algorithm/captum_explainer.py +2 -1
- torch_geometric/explain/algorithm/gnn_explainer.py +406 -69
- torch_geometric/explain/algorithm/graphmask_explainer.py +8 -8
- torch_geometric/explain/algorithm/pg_explainer.py +305 -47
- torch_geometric/explain/explainer.py +2 -2
- torch_geometric/explain/explanation.py +87 -3
- torch_geometric/explain/metric/faithfulness.py +1 -1
- torch_geometric/graphgym/config.py +3 -2
- torch_geometric/graphgym/imports.py +15 -4
- torch_geometric/graphgym/logger.py +1 -1
- torch_geometric/graphgym/loss.py +1 -1
- torch_geometric/graphgym/models/encoder.py +2 -2
- torch_geometric/graphgym/models/layer.py +1 -1
- torch_geometric/graphgym/utils/comp_budget.py +4 -3
- torch_geometric/hash_tensor.py +798 -0
- torch_geometric/index.py +14 -5
- torch_geometric/inspector.py +4 -0
- torch_geometric/io/fs.py +5 -4
- torch_geometric/llm/__init__.py +9 -0
- torch_geometric/llm/large_graph_indexer.py +741 -0
- torch_geometric/llm/models/__init__.py +23 -0
- torch_geometric/{nn → llm}/models/g_retriever.py +77 -45
- torch_geometric/llm/models/git_mol.py +336 -0
- torch_geometric/llm/models/glem.py +397 -0
- torch_geometric/{nn/nlp → llm/models}/llm.py +179 -31
- torch_geometric/llm/models/llm_judge.py +158 -0
- torch_geometric/llm/models/molecule_gpt.py +222 -0
- torch_geometric/llm/models/protein_mpnn.py +333 -0
- torch_geometric/llm/models/sentence_transformer.py +188 -0
- torch_geometric/llm/models/txt2kg.py +353 -0
- torch_geometric/llm/models/vision_transformer.py +38 -0
- torch_geometric/llm/rag_loader.py +154 -0
- torch_geometric/llm/utils/__init__.py +10 -0
- torch_geometric/llm/utils/backend_utils.py +443 -0
- torch_geometric/llm/utils/feature_store.py +169 -0
- torch_geometric/llm/utils/graph_store.py +199 -0
- torch_geometric/llm/utils/vectorrag.py +125 -0
- torch_geometric/loader/cluster.py +4 -4
- torch_geometric/loader/ibmb_loader.py +4 -4
- torch_geometric/loader/link_loader.py +1 -1
- torch_geometric/loader/link_neighbor_loader.py +2 -1
- torch_geometric/loader/mixin.py +6 -5
- torch_geometric/loader/neighbor_loader.py +1 -1
- torch_geometric/loader/neighbor_sampler.py +2 -2
- torch_geometric/loader/prefetch.py +3 -2
- torch_geometric/loader/temporal_dataloader.py +2 -2
- torch_geometric/loader/utils.py +10 -10
- torch_geometric/metrics/__init__.py +14 -0
- torch_geometric/metrics/link_pred.py +745 -92
- torch_geometric/nn/__init__.py +1 -0
- torch_geometric/nn/aggr/base.py +1 -1
- torch_geometric/nn/aggr/equilibrium.py +1 -1
- torch_geometric/nn/aggr/fused.py +1 -1
- torch_geometric/nn/aggr/patch_transformer.py +8 -2
- torch_geometric/nn/aggr/set_transformer.py +1 -1
- torch_geometric/nn/aggr/utils.py +9 -4
- torch_geometric/nn/attention/__init__.py +9 -1
- torch_geometric/nn/attention/polynormer.py +107 -0
- torch_geometric/nn/attention/qformer.py +71 -0
- torch_geometric/nn/attention/sgformer.py +99 -0
- torch_geometric/nn/conv/__init__.py +2 -0
- torch_geometric/nn/conv/appnp.py +1 -1
- torch_geometric/nn/conv/cugraph/gat_conv.py +8 -2
- torch_geometric/nn/conv/cugraph/rgcn_conv.py +3 -0
- torch_geometric/nn/conv/cugraph/sage_conv.py +3 -0
- torch_geometric/nn/conv/dna_conv.py +1 -1
- torch_geometric/nn/conv/eg_conv.py +7 -7
- torch_geometric/nn/conv/gen_conv.py +1 -1
- torch_geometric/nn/conv/gravnet_conv.py +2 -1
- torch_geometric/nn/conv/hetero_conv.py +2 -1
- torch_geometric/nn/conv/meshcnn_conv.py +487 -0
- torch_geometric/nn/conv/message_passing.py +5 -4
- torch_geometric/nn/conv/rgcn_conv.py +2 -1
- torch_geometric/nn/conv/sg_conv.py +1 -1
- torch_geometric/nn/conv/spline_conv.py +2 -1
- torch_geometric/nn/conv/ssg_conv.py +1 -1
- torch_geometric/nn/conv/transformer_conv.py +5 -3
- torch_geometric/nn/data_parallel.py +5 -4
- torch_geometric/nn/dense/linear.py +0 -20
- torch_geometric/nn/encoding.py +17 -3
- torch_geometric/nn/fx.py +14 -12
- torch_geometric/nn/model_hub.py +2 -15
- torch_geometric/nn/models/__init__.py +11 -2
- torch_geometric/nn/models/attentive_fp.py +1 -1
- torch_geometric/nn/models/attract_repel.py +148 -0
- torch_geometric/nn/models/basic_gnn.py +2 -1
- torch_geometric/nn/models/captum.py +1 -1
- torch_geometric/nn/models/deep_graph_infomax.py +1 -1
- torch_geometric/nn/models/dimenet.py +2 -2
- torch_geometric/nn/models/dimenet_utils.py +4 -2
- torch_geometric/nn/models/gpse.py +1083 -0
- torch_geometric/nn/models/graph_unet.py +13 -4
- torch_geometric/nn/models/lpformer.py +783 -0
- torch_geometric/nn/models/metapath2vec.py +1 -1
- torch_geometric/nn/models/mlp.py +4 -2
- torch_geometric/nn/models/node2vec.py +1 -1
- torch_geometric/nn/models/polynormer.py +206 -0
- torch_geometric/nn/models/rev_gnn.py +3 -3
- torch_geometric/nn/models/sgformer.py +219 -0
- torch_geometric/nn/models/signed_gcn.py +1 -1
- torch_geometric/nn/models/visnet.py +2 -2
- torch_geometric/nn/norm/batch_norm.py +17 -7
- torch_geometric/nn/norm/diff_group_norm.py +7 -2
- torch_geometric/nn/norm/graph_norm.py +9 -4
- torch_geometric/nn/norm/instance_norm.py +5 -1
- torch_geometric/nn/norm/layer_norm.py +15 -7
- torch_geometric/nn/norm/msg_norm.py +8 -2
- torch_geometric/nn/pool/__init__.py +8 -4
- torch_geometric/nn/pool/cluster_pool.py +3 -4
- torch_geometric/nn/pool/connect/base.py +1 -3
- torch_geometric/nn/pool/knn.py +13 -10
- torch_geometric/nn/pool/select/base.py +1 -4
- torch_geometric/nn/to_hetero_module.py +4 -3
- torch_geometric/nn/to_hetero_transformer.py +3 -3
- torch_geometric/nn/to_hetero_with_bases_transformer.py +4 -4
- torch_geometric/profile/__init__.py +2 -0
- torch_geometric/profile/nvtx.py +66 -0
- torch_geometric/profile/utils.py +20 -5
- torch_geometric/sampler/__init__.py +2 -1
- torch_geometric/sampler/base.py +336 -7
- torch_geometric/sampler/hgt_sampler.py +11 -1
- torch_geometric/sampler/neighbor_sampler.py +296 -23
- torch_geometric/sampler/utils.py +93 -5
- torch_geometric/testing/__init__.py +4 -0
- torch_geometric/testing/decorators.py +35 -5
- torch_geometric/testing/distributed.py +1 -1
- torch_geometric/transforms/__init__.py +2 -0
- torch_geometric/transforms/add_gpse.py +49 -0
- torch_geometric/transforms/add_metapaths.py +8 -6
- torch_geometric/transforms/add_positional_encoding.py +2 -2
- torch_geometric/transforms/base_transform.py +2 -1
- torch_geometric/transforms/delaunay.py +65 -15
- torch_geometric/transforms/face_to_edge.py +32 -3
- torch_geometric/transforms/gdc.py +7 -8
- torch_geometric/transforms/largest_connected_components.py +1 -1
- torch_geometric/transforms/mask.py +5 -1
- torch_geometric/transforms/normalize_features.py +3 -3
- torch_geometric/transforms/random_link_split.py +1 -1
- torch_geometric/transforms/remove_duplicated_edges.py +4 -2
- torch_geometric/transforms/rooted_subgraph.py +1 -1
- torch_geometric/typing.py +70 -17
- torch_geometric/utils/__init__.py +4 -1
- torch_geometric/utils/_lexsort.py +0 -9
- torch_geometric/utils/_negative_sampling.py +27 -12
- torch_geometric/utils/_scatter.py +132 -195
- torch_geometric/utils/_sort_edge_index.py +0 -2
- torch_geometric/utils/_spmm.py +16 -14
- torch_geometric/utils/_subgraph.py +4 -0
- torch_geometric/utils/_trim_to_layer.py +2 -2
- torch_geometric/utils/convert.py +17 -10
- torch_geometric/utils/cross_entropy.py +34 -13
- torch_geometric/utils/embedding.py +91 -2
- torch_geometric/utils/geodesic.py +4 -3
- torch_geometric/utils/influence.py +279 -0
- torch_geometric/utils/map.py +13 -9
- torch_geometric/utils/nested.py +1 -1
- torch_geometric/utils/smiles.py +3 -3
- torch_geometric/utils/sparse.py +7 -14
- torch_geometric/visualization/__init__.py +2 -1
- torch_geometric/visualization/graph.py +250 -5
- torch_geometric/warnings.py +11 -2
- torch_geometric/nn/nlp/__init__.py +0 -7
- torch_geometric/nn/nlp/sentence_transformer.py +0 -101
{pyg_nightly-2.7.0.dev20241009.dist-info → pyg_nightly-2.8.0.dev20251207.dist-info}/METADATA
RENAMED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyg-nightly
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.8.0.dev20251207
|
|
4
4
|
Summary: Graph Neural Network Library for PyTorch
|
|
5
5
|
Keywords: deep-learning,pytorch,geometric-deep-learning,graph-neural-networks,graph-convolutional-networks
|
|
6
6
|
Author-email: Matthias Fey <matthias@pyg.org>
|
|
7
|
-
Requires-Python: >=3.
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
|
+
License-Expression: MIT
|
|
9
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
License-File: LICENSE
|
|
17
18
|
Requires-Dist: aiohttp
|
|
18
19
|
Requires-Dist: fsspec
|
|
19
20
|
Requires-Dist: jinja2
|
|
@@ -22,6 +23,7 @@ Requires-Dist: psutil>=5.8.0
|
|
|
22
23
|
Requires-Dist: pyparsing
|
|
23
24
|
Requires-Dist: requests
|
|
24
25
|
Requires-Dist: tqdm
|
|
26
|
+
Requires-Dist: xxhash
|
|
25
27
|
Requires-Dist: matplotlib ; extra == "benchmark"
|
|
26
28
|
Requires-Dist: networkx ; extra == "benchmark"
|
|
27
29
|
Requires-Dist: pandas ; extra == "benchmark"
|
|
@@ -42,7 +44,6 @@ Requires-Dist: networkx ; extra == "full"
|
|
|
42
44
|
Requires-Dist: numba<0.60.0 ; extra == "full"
|
|
43
45
|
Requires-Dist: opt_einsum ; extra == "full"
|
|
44
46
|
Requires-Dist: pandas ; extra == "full"
|
|
45
|
-
Requires-Dist: pgmpy ; extra == "full"
|
|
46
47
|
Requires-Dist: pynndescent ; extra == "full"
|
|
47
48
|
Requires-Dist: pytorch-memlab ; extra == "full"
|
|
48
49
|
Requires-Dist: rdflib ; extra == "full"
|
|
@@ -55,11 +56,19 @@ Requires-Dist: torch_geometric[graphgym, modelhub] ; extra == "full"
|
|
|
55
56
|
Requires-Dist: torchmetrics ; extra == "full"
|
|
56
57
|
Requires-Dist: trimesh ; extra == "full"
|
|
57
58
|
Requires-Dist: protobuf<4.21 ; extra == "graphgym"
|
|
58
|
-
Requires-Dist: pytorch-lightning
|
|
59
|
+
Requires-Dist: pytorch-lightning ; extra == "graphgym"
|
|
59
60
|
Requires-Dist: yacs ; extra == "graphgym"
|
|
60
61
|
Requires-Dist: huggingface_hub ; extra == "modelhub"
|
|
62
|
+
Requires-Dist: pcst_fast ; extra == "rag"
|
|
63
|
+
Requires-Dist: datasets ; extra == "rag"
|
|
64
|
+
Requires-Dist: transformers ; extra == "rag"
|
|
65
|
+
Requires-Dist: pandas ; extra == "rag"
|
|
66
|
+
Requires-Dist: sentencepiece ; extra == "rag"
|
|
67
|
+
Requires-Dist: accelerate ; extra == "rag"
|
|
68
|
+
Requires-Dist: torchmetrics ; extra == "rag"
|
|
61
69
|
Requires-Dist: onnx ; extra == "test"
|
|
62
70
|
Requires-Dist: onnxruntime ; extra == "test"
|
|
71
|
+
Requires-Dist: onnxscript ; extra == "test"
|
|
63
72
|
Requires-Dist: pytest ; extra == "test"
|
|
64
73
|
Requires-Dist: pytest-cov ; extra == "test"
|
|
65
74
|
Project-URL: changelog, https://github.com/pyg-team/pytorch_geometric/blob/master/CHANGELOG.md
|
|
@@ -71,6 +80,7 @@ Provides-Extra: dev
|
|
|
71
80
|
Provides-Extra: full
|
|
72
81
|
Provides-Extra: graphgym
|
|
73
82
|
Provides-Extra: modelhub
|
|
83
|
+
Provides-Extra: rag
|
|
74
84
|
Provides-Extra: test
|
|
75
85
|
|
|
76
86
|
<p align="center">
|
|
@@ -79,14 +89,21 @@ Provides-Extra: test
|
|
|
79
89
|
|
|
80
90
|
______________________________________________________________________
|
|
81
91
|
|
|
92
|
+
<div align="center">
|
|
93
|
+
|
|
82
94
|
[![PyPI Version][pypi-image]][pypi-url]
|
|
83
|
-
[![
|
|
84
|
-
[![Linting Status][linting-image]][linting-url]
|
|
85
|
-
[![Docs Status][docs-image]][docs-url]
|
|
86
|
-
[![Contributing][contributing-image]][contributing-url]
|
|
95
|
+
[![PyPI Download][pypi-download-image]][pypi-download-url]
|
|
87
96
|
[![Slack][slack-image]][slack-url]
|
|
97
|
+
[![Contributing][contributing-image]][contributing-url]
|
|
98
|
+
|
|
99
|
+
**[Documentation](https://pytorch-geometric.readthedocs.io)** |
|
|
100
|
+
**[PyG 1.0 Paper](https://arxiv.org/abs/1903.02428)** |
|
|
101
|
+
**[PyG 2.0 Paper](https://arxiv.org/abs/2507.16991)** |
|
|
102
|
+
**[Colab Notebooks](https://pytorch-geometric.readthedocs.io/en/latest/get_started/colabs.html)** |
|
|
103
|
+
**[External Resources](https://pytorch-geometric.readthedocs.io/en/latest/external/resources.html)** |
|
|
104
|
+
**[OGB Examples](https://github.com/snap-stanford/ogb/tree/master/examples)**
|
|
88
105
|
|
|
89
|
-
|
|
106
|
+
</div>
|
|
90
107
|
|
|
91
108
|
**PyG** *(PyTorch Geometric)* is a library built upon [PyTorch](https://pytorch.org/) to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data.
|
|
92
109
|
|
|
@@ -184,7 +201,7 @@ More information about evaluating final model performance can be found in the co
|
|
|
184
201
|
In addition to the easy application of existing GNNs, PyG makes it simple to implement custom Graph Neural Networks (see [here](https://pytorch-geometric.readthedocs.io/en/latest/tutorial/create_gnn.html) for the accompanying tutorial).
|
|
185
202
|
For example, this is all it takes to implement the [edge convolutional layer](https://arxiv.org/abs/1801.07829) from Wang *et al.*:
|
|
186
203
|
|
|
187
|
-
$$x_i^{\\prime} ~ = ~ \\max\_{j \\in \\mathcal{N}(i)} ~ \\textrm{MLP}\_{\\theta} \\left(
|
|
204
|
+
$$x_i^{\\prime} ~ = ~ \\max\_{j \\in \\mathcal{N}(i)} ~ \\textrm{MLP}\_{\\theta} \\left( [ ~ x_i, ~ x_j - x_i ~ ] \\right)$$
|
|
188
205
|
|
|
189
206
|
```python
|
|
190
207
|
import torch
|
|
@@ -251,7 +268,7 @@ These GNN layers can be stacked together to create Graph Neural Network models.
|
|
|
251
268
|
- **[EGConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.EGConv.html)** from Tailor *et al.*: [Adaptive Filters and Aggregator Fusion for Efficient Graph Convolutions](https://arxiv.org/abs/2104.01481) (GNNSys 2021) \[[**Example**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/egc.py)\]
|
|
252
269
|
- **[GATv2Conv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.GATv2Conv.html)** from Brody *et al.*: [How Attentive are Graph Attention Networks?](https://arxiv.org/abs/2105.14491) (ICLR 2022)
|
|
253
270
|
- **[TransformerConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.TransformerConv.html)** from Shi *et al.*: [Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification](https://arxiv.org/abs/2009.03509) (CoRR 2020) \[[**Example**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/unimp_arxiv.py)\]
|
|
254
|
-
- **[SAGEConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.SAGEConv.html)** from Hamilton *et al.*: [Inductive Representation Learning on Large Graphs](https://arxiv.org/abs/1706.02216) (NIPS 2017) \[[**Example1**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/reddit.py), [**Example2**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/
|
|
271
|
+
- **[SAGEConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.SAGEConv.html)** from Hamilton *et al.*: [Inductive Representation Learning on Large Graphs](https://arxiv.org/abs/1706.02216) (NIPS 2017) \[[**Example1**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/reddit.py), [**Example2**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/ogbn_train.py), [**Example3**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/graph_sage_unsup.py), [**Example4**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/graph_sage_unsup_ppi.py)\]
|
|
255
272
|
- **[GraphConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.GraphConv.html)** from, *e.g.*, Morris *et al.*: [Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networks](https://arxiv.org/abs/1810.02244) (AAAI 2019)
|
|
256
273
|
- **[GatedGraphConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.GatedGraphConv.html)** from Li *et al.*: [Gated Graph Sequence Neural Networks](https://arxiv.org/abs/1511.05493) (ICLR 2016)
|
|
257
274
|
- **[ResGatedGraphConv](https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.ResGatedGraphConv.html)** from Bresson and Laurent: [Residual Gated Graph ConvNets](https://arxiv.org/abs/1711.07553) (CoRR 2017)
|
|
@@ -394,7 +411,7 @@ Such application is challenging since the entire graph, its associated features
|
|
|
394
411
|
Many state-of-the-art scalability approaches tackle this challenge by sampling neighborhoods for mini-batch training, graph clustering and partitioning, or by using simplified GNN models.
|
|
395
412
|
These approaches have been implemented in PyG, and can benefit from the above GNN layers, operators and models.
|
|
396
413
|
|
|
397
|
-
- **[NeighborLoader](https://pytorch-geometric.readthedocs.io/en/latest/modules/loader.html#torch_geometric.loader.NeighborLoader)** from Hamilton *et al.*: [Inductive Representation Learning on Large Graphs](https://arxiv.org/abs/1706.02216) (NIPS 2017) \[[**Example1**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/reddit.py), [**Example2**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/
|
|
414
|
+
- **[NeighborLoader](https://pytorch-geometric.readthedocs.io/en/latest/modules/loader.html#torch_geometric.loader.NeighborLoader)** from Hamilton *et al.*: [Inductive Representation Learning on Large Graphs](https://arxiv.org/abs/1706.02216) (NIPS 2017) \[[**Example1**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/reddit.py), [**Example2**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/ogbn_train.py), [**Example3**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/hetero/to_hetero_mag.py)\]
|
|
398
415
|
- **[ClusterGCN](https://pytorch-geometric.readthedocs.io/en/latest/modules/loader.html#torch_geometric.loader.ClusterLoader)** from Chiang *et al.*: [Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks](https://arxiv.org/abs/1905.07953) (KDD 2019) \[[**Example1**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/cluster_gcn_reddit.py), [**Example2**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/cluster_gcn_ppi.py)\]
|
|
399
416
|
- **[GraphSAINT](https://pytorch-geometric.readthedocs.io/en/latest/modules/loader.html#torch_geometric.loader.GraphSAINTSampler)** from Zeng *et al.*: [GraphSAINT: Graph Sampling Based Inductive Learning Method](https://arxiv.org/abs/1907.04931) (ICLR 2020) \[[**Example**](https://github.com/pyg-team/pytorch_geometric/blob/master/examples/graph_saint.py)\]
|
|
400
417
|
|
|
@@ -409,19 +426,7 @@ These approaches have been implemented in PyG, and can benefit from the above GN
|
|
|
409
426
|
|
|
410
427
|
## Installation
|
|
411
428
|
|
|
412
|
-
PyG is available for Python 3.
|
|
413
|
-
|
|
414
|
-
### Anaconda
|
|
415
|
-
|
|
416
|
-
You can now install PyG via [Anaconda](https://anaconda.org/pyg/pyg) for all major OS/PyTorch/CUDA combinations 🤗
|
|
417
|
-
If you have not yet installed PyTorch, install it via `conda` as described in the [official PyTorch documentation](https://pytorch.org/get-started/locally/).
|
|
418
|
-
Given that you have PyTorch installed (`>=1.8.0`), simply run
|
|
419
|
-
|
|
420
|
-
```
|
|
421
|
-
conda install pyg -c pyg
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
### PyPi
|
|
429
|
+
PyG is available for Python 3.10 to Python 3.13.
|
|
425
430
|
|
|
426
431
|
From **PyG 2.3** onwards, you can install and use PyG **without any external library** required except for PyTorch.
|
|
427
432
|
For this, simply run
|
|
@@ -446,39 +451,55 @@ We recommend to start with a minimal installation, and install additional depend
|
|
|
446
451
|
|
|
447
452
|
For ease of installation of these extensions, we provide `pip` wheels for all major OS/PyTorch/CUDA combinations, see [here](https://data.pyg.org/whl).
|
|
448
453
|
|
|
449
|
-
#### PyTorch 2.
|
|
454
|
+
#### PyTorch 2.8
|
|
450
455
|
|
|
451
|
-
To install the binaries for PyTorch 2.
|
|
456
|
+
To install the binaries for PyTorch 2.8.0, simply run
|
|
452
457
|
|
|
453
458
|
```
|
|
454
|
-
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.
|
|
459
|
+
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.8.0+${CUDA}.html
|
|
455
460
|
```
|
|
456
461
|
|
|
457
|
-
where `${CUDA}` should be replaced by either `cpu`, `
|
|
462
|
+
where `${CUDA}` should be replaced by either `cpu`, `cu126`, `cu128`, or `cu129` depending on your PyTorch installation.
|
|
458
463
|
|
|
459
|
-
| | `cpu` | `
|
|
464
|
+
| | `cpu` | `cu126` | `cu128` | `cu129` |
|
|
460
465
|
| ----------- | ----- | ------- | ------- | ------- |
|
|
461
466
|
| **Linux** | ✅ | ✅ | ✅ | ✅ |
|
|
462
467
|
| **Windows** | ✅ | ✅ | ✅ | ✅ |
|
|
463
468
|
| **macOS** | ✅ | | | |
|
|
464
469
|
|
|
465
|
-
#### PyTorch 2.
|
|
470
|
+
#### PyTorch 2.7
|
|
466
471
|
|
|
467
|
-
To install the binaries for PyTorch 2.
|
|
472
|
+
To install the binaries for PyTorch 2.7.0, simply run
|
|
468
473
|
|
|
469
474
|
```
|
|
470
|
-
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.
|
|
475
|
+
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.7.0+${CUDA}.html
|
|
471
476
|
```
|
|
472
477
|
|
|
473
|
-
where `${CUDA}` should be replaced by either `cpu`, `cu118`, or `
|
|
478
|
+
where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu126`, or `cu128` depending on your PyTorch installation.
|
|
474
479
|
|
|
475
|
-
| | `cpu` | `cu118` | `
|
|
476
|
-
| ----------- | ----- | ------- | ------- |
|
|
477
|
-
| **Linux** | ✅ | ✅ | ✅ |
|
|
478
|
-
| **Windows** | ✅ | ✅ | ✅ |
|
|
479
|
-
| **macOS** | ✅ | | |
|
|
480
|
+
| | `cpu` | `cu118` | `cu126` | `cu128` |
|
|
481
|
+
| ----------- | ----- | ------- | ------- | ------- |
|
|
482
|
+
| **Linux** | ✅ | ✅ | ✅ | ✅ |
|
|
483
|
+
| **Windows** | ✅ | ✅ | ✅ | ✅ |
|
|
484
|
+
| **macOS** | ✅ | | | |
|
|
480
485
|
|
|
481
|
-
|
|
486
|
+
#### PyTorch 2.6
|
|
487
|
+
|
|
488
|
+
To install the binaries for PyTorch 2.6.0, simply run
|
|
489
|
+
|
|
490
|
+
```
|
|
491
|
+
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.6.0+${CUDA}.html
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu124`, or `cu126` depending on your PyTorch installation.
|
|
495
|
+
|
|
496
|
+
| | `cpu` | `cu118` | `cu124` | `cu126` |
|
|
497
|
+
| ----------- | ----- | ------- | ------- | ------- |
|
|
498
|
+
| **Linux** | ✅ | ✅ | ✅ | ✅ |
|
|
499
|
+
| **Windows** | ✅ | ✅ | ✅ | ✅ |
|
|
500
|
+
| **macOS** | ✅ | | | |
|
|
501
|
+
|
|
502
|
+
**Note:** Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0, PyTorch 1.6.0, PyTorch 1.7.0/1.7.1, PyTorch 1.8.0/1.8.1, PyTorch 1.9.0, PyTorch 1.10.0/1.10.1/1.10.2, PyTorch 1.11.0, PyTorch 1.12.0/1.12.1, PyTorch 1.13.0/1.13.1, PyTorch 2.0.0/2.0.1, PyTorch 2.1.0/2.1.1/2.1.2, PyTorch 2.2.0/2.2.1/2.2.2, PyTorch 2.3.0/2.3.1, PyTorch 2.4.0/2.4.1, and PyTorch 2.5.0/2.5.1 (following the same procedure).
|
|
482
503
|
**For older versions, you might need to explicitly specify the latest supported version number** or install via `pip install --no-index` in order to prevent a manual installation from source.
|
|
483
504
|
You can look up the latest supported version number [here](https://data.pyg.org/whl).
|
|
484
505
|
|
|
@@ -507,7 +528,7 @@ If you have any questions about it, please open an issue [here](https://github.c
|
|
|
507
528
|
|
|
508
529
|
## Cite
|
|
509
530
|
|
|
510
|
-
Please cite
|
|
531
|
+
Please cite our [PyG 1.0](https://arxiv.org/abs/1903.02428) and [PyG 2.0](https://www.arxiv.org/abs/2507.16991) papers if you use this code in your own work:
|
|
511
532
|
|
|
512
533
|
```
|
|
513
534
|
@inproceedings{Fey/Lenssen/2019,
|
|
@@ -516,6 +537,13 @@ Please cite [our paper](https://arxiv.org/abs/1903.02428) (and the respective pa
|
|
|
516
537
|
booktitle={ICLR Workshop on Representation Learning on Graphs and Manifolds},
|
|
517
538
|
year={2019},
|
|
518
539
|
}
|
|
540
|
+
|
|
541
|
+
@inproceedings{Fey/etal/2025,
|
|
542
|
+
title={{PyG} 2.0: Scalable Learning on Real World Graphs},
|
|
543
|
+
author={Fey, Matthias and Sunil, Jinu and Nitta, Akihiro and Puri, Rishi and Shah, Manan, and Stojanovi{\v{c}, Bla{\v{z} and Bendias, Ramona and Alexandria, Barghi and Kocijan, Vid and Zhang, Zecheng and He, Xinwei and Lenssen, Jan E. and Leskovec, Jure},
|
|
544
|
+
booktitle={Temporal Graph Learning Workshop @ KDD},
|
|
545
|
+
year={2025},
|
|
546
|
+
}
|
|
519
547
|
```
|
|
520
548
|
|
|
521
549
|
Feel free to [email us](mailto:matthias.fey@tu-dortmund.de) if you wish your work to be listed in the [external resources](https://pytorch-geometric.readthedocs.io/en/latest/external/resources.html).
|
|
@@ -523,16 +551,12 @@ If you notice anything unexpected, please open an [issue](https://github.com/pyg
|
|
|
523
551
|
If you have any questions or are missing a specific feature, feel free [to discuss them with us](https://github.com/pyg-team/pytorch_geometric/discussions).
|
|
524
552
|
We are motivated to constantly make PyG even better.
|
|
525
553
|
|
|
526
|
-
[contributing-image]: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat
|
|
554
|
+
[contributing-image]: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat&color=4B26A4
|
|
527
555
|
[contributing-url]: https://github.com/pyg-team/pytorch_geometric/blob/master/.github/CONTRIBUTING.md
|
|
528
|
-
[
|
|
529
|
-
[
|
|
530
|
-
[
|
|
531
|
-
[linting-url]: https://github.com/pyg-team/pytorch_geometric/actions/workflows/linting.yml
|
|
532
|
-
[pypi-image]: https://badge.fury.io/py/torch-geometric.svg
|
|
556
|
+
[pypi-download-image]: https://img.shields.io/pypi/dm/torch_geometric?color=4B26A4
|
|
557
|
+
[pypi-download-url]: https://pepy.tech/projects/torch_geometric
|
|
558
|
+
[pypi-image]: https://img.shields.io/pypi/pyversions/torch-geometric?color=4B26A4
|
|
533
559
|
[pypi-url]: https://pypi.python.org/pypi/torch-geometric
|
|
534
|
-
[slack-image]: https://img.shields.io/badge/slack-
|
|
560
|
+
[slack-image]: https://img.shields.io/badge/slack-join-white.svg?logo=slack&color=4B26A4
|
|
535
561
|
[slack-url]: https://data.pyg.org/slack.html
|
|
536
|
-
[testing-image]: https://github.com/pyg-team/pytorch_geometric/actions/workflows/testing.yml/badge.svg
|
|
537
|
-
[testing-url]: https://github.com/pyg-team/pytorch_geometric/actions/workflows/testing.yml
|
|
538
562
|
|