This release is a big one thanks to many wonderful contributors. You guys are awesome!
Breaking Changes and Highlights
NeighborSampler
got completely revamped: it's now much faster, allows for parallel sampling, and allows to easily apply skip-connections or self-loops. Seeexamples/reddit.py
or the newly introduced OGB examples (examples/ogbn_products_sage.py
andexamples/ogbn_products_gat.py
). The latter also sets a new SOTA on the OGB leaderboards (reaching 0.7945 ± 0.0059 test accuracy)SAGEConv
now usesconcat=True
by default, and there is no option to disable it anymoreNode2Vec
got enhanced by a parallel sampling mechanism, and as a result, its API slightly changedMetaPath2Vec
: The first model in PyG that is able to operate on heteregenous graphsGNNExplainer
: Generating explanations for graph neural networksGraphSAINT
: A graph sampling based inductive learning methodSchNet
model for learning on molecular graphs, comes with pre-trained weights for each target of theQM9
dataset (thanks to @Nyuten)
Additional Features
ASAPooling
: Adaptive structure aware pooling for learning hierarchical graph representations (thanks to @ekagra-ranjan)ARGVA
node clustering example, seeexamples/argva_node_clustering.py
(thanks to @gsoosk)MFConv
: Molecular fingerprint graph convolution operator (thanks to @rhsimplex)GIN-E-Conv
that extends theGINConv
to also account for edge featuresDimeNet
: Directional message passing for molecular graphsSIGN
: Scalable inception graph neural networksGravNetConv
(thanks to @jkiesele)
Datasets
Minor changes
GATConv
can now return attention weights via thereturn_attention_weights
argument (thanks to @douglasrizzo)InMemoryDataset
now has acopy
method that converts sliced datasets back into a contiguous memory layoutPlanetoid
got enhanced by the ability to let users choose between different splitting methods (thanks to @dongkwan-kim)k_hop_subgraph
: Computes thek
-hop subgraph around a subset of nodesgeodesic_distance
: Geodesic distances can now be computed in parallel (thanks to @jannessm)tree_decomposition
: The tree decompostion algorithm for generating junction trees from moleculesSortPool
benchmark script now uses 1-D convolutions after pooling, leading to better performance (thanks to @muhanzhang)
Bugfixes
- Fixed a bug in
write_off
- Fixed a bug in the processing of the
GEDDataset
dataset to_networkx
conversion can now also properly handle non-tensor attributes- Fixed a bug in
read_obj
(thanks to @mwussow)