All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
- Added node-wise normalization mode in
LayerNorm
(#4944) - Added support for
normalization_resolver
(#4926) - Added notebook tutorial for
torch_geometric.nn.aggr
package to documentation (#4927) - Added support for
follow_batch
for lists or dictionaries of tensors (#4837) - Added
Data.validate()
andHeteroData.validate()
functionality (#4885) - Added
LinkNeighborLoader
support toLightningDataModule
(#4868) - Added
predict()
support to theLightningNodeData
module (#4884) - Added
time_attr
argument toLinkNeighborLoader
(#4877, #4908) - Added a
filter_per_worker
argument to data loaders to allow filtering of data within sub-processes (#4873) - Added a
NeighborLoader
benchmark script (#4815, #4862) - Added support for
FeatureStore
andGraphStore
inNeighborLoader
(#4817, #4851, #4854, #4856, #4857, #4882, #4883, #4929, #4992) - Added a
normalize
parameter todense_diff_pool
(#4847) - Added
size=None
explanation to jittableMessagePassing
modules in the documentation (#4850) - Added documentation to the
DataLoaderIterator
class (#4838) - Added
GraphStore
support toData
andHeteroData
(#4816) - Added
FeatureStore
support toData
andHeteroData
(#4807, #4853) - Added support for dense aggregations in
global_*_pool
(#4827) - Added Python version requirement (#4825)
- Added TorchScript support to
JumpingKnowledge
module (#4805) - Added a
max_sample
argument toAddMetaPaths
in order to tackle very dense metapath edges (#4750) - Test
HANConv
with empty tensors (#4756, #4841) - Added the
bias
vector to theGCN
model definition in the "Create Message Passing Networks" tutorial (#4755) - Added
transforms.RootedSubgraph
interface with two implementations:RootedEgoNets
andRootedRWSubgraph
(#3926) - Added
ptr
vectors forfollow_batch
attributes withinBatch.from_data_list
(#4723) - Added
torch_geometric.nn.aggr
package (#4687, #4721, #4731, #4762, #4749, #4779, #4863, #4864, #4865, #4866, #4872, #4934, #4935) - Added the
DimeNet++
model (#4432, #4699, #4700, #4800) - Added an example of using PyG with PyTorch Ignite (#4487)
- Added
GroupAddRev
module with support for reducing training GPU memory (#4671, #4701, #4715, #4730) - Added benchmarks via
wandb
(#4656, #4672, #4676) - Added
unbatch
functionality (#4628) - Confirm that
to_hetero()
works with custom functions, e.g.,dropout_adj
(4653) - Added the
MLP.plain_last=False
option (4652) - Added a check in
HeteroConv
andto_hetero()
to ensure thatMessagePassing.add_self_loops
is disabled (4647) - Added
HeteroData.subgraph()
support (#4635) - Added the
AQSOL
dataset (#4626) - Added
HeteroData.node_items()
andHeteroData.edge_items()
functionality (#4644) - Added PyTorch Lightning support in GraphGym (#4531, #4689, #4843)
- Added support for returning embeddings in
MLP
models (#4625) - Added faster initialization of
NeighborLoader
in case edge indices are already sorted (viais_sorted=True
) (#4620, #4702) - Added
AddPositionalEncoding
transform (#4521) - Added
HeteroData.is_undirected()
support (#4604) - Added the
Genius
andWiki
datasets tonn.datasets.LINKXDataset
(#4570, #4600) - Added
nn.glob.GlobalPooling
module with support for multiple aggregations (#4582) - Added support for graph-level outputs in
to_hetero
(#4582) - Added
CHANGELOG.md
(#4581)
len(batch)
will now return the number of graphs inside the batch, not the number of attributes (#4931)- Fixed
data.subgraph
generation for 0-dim tensors (#4932) - Removed unnecssary inclusion of self-loops when sampling negative edges (#4880)
- Fixed
InMemoryDataset
inferring wronglen
for lists of tensors (#4837) - Fixed
Batch.separate
when using it for lists of tensors (#4837) - Correct docstring for SAGEConv (#4852)
- Fixed a bug in
TUDataset
wherepre_filter
was not applied wheneverpre_transform
was present - Renamed
RandomTranslate
toRandomJitter
- the usage ofRandomTranslate
is now deprecated (#4828) - Do not allow accessing edge types in
HeteroData
with two node types when there exists multiple relations between these types (#4782) - Allow
edge_type == rev_edge_type
argument inRandomLinkSplit
(#4757) - Fixed a numerical instability in the
GeneralConv
andneighbor_sample
tests (#4754) - Fixed a bug in
HANConv
in which destination node features rather than source node features were propagated (#4753) - Fixed versions of
checkout
andsetup-python
in CI (#4751) - Fixed
protobuf
version (#4719) - Fixed the ranking protocol bug in the RGCN link prediction example (#4688)
- Math support in Markdown (#4683)
- Allow for
setter
properties inData
(#4682, #4686) - Allow for optional
edge_weight
inGCN2Conv
(#4670) - Fixed the interplay between
TUDataset
andpre_transform
that modify node features (#4669) - Make use of the
pyg_sphinx_theme
documentation template (#4664, #4667) - Refactored reading molecular positions from sdf file for qm9 datasets (4654)
- Fixed
MLP.jittable()
bug in casereturn_emb=True
(#4645, #4648) - The generated node features of
StochasticBlockModelDataset
are now ordered with respect to their labels (#4617) - Fixed typos in the documentation (#4616, #4824, #4895)
- The
bias
argument inTAGConv
is now actually applied (#4597) - Fixed subclass behaviour of
process
anddownload
inDatsaet
(#4586) - Fixed filtering of attributes for loaders in case
__cat_dim__ != 0
(#4629)