2.0.3
版本发布时间: 2021-12-22 14:49:50
pyg-team/pytorch_geometric最新发布版本:2.5.3(2024-04-19 19:37:44)
PyG 2.0.3 🎉
A new minor PyG version release, including a variety of new features and bugfixes:
Features
-
GLNN
: Graph-less Neural Networks [Example] (#3572) -
LINKX
: Large Scale Learning on Non-Homophilous Graphs [Example] (#3654) - Added an example for heterogeneous link classification (#3350) - thanks to @anniekmyatt
-
HANConv
: The Heterogenous Graph Attention operator [Example] (#3444, #3577, #3581) - thanks to @rishubhkhurana and @wsad1 -
LGConv
andLightGCN
: Simplifying and Powering Graph Convolution Network for Recommendation (#3685) - thanks to @LukasHaas and @KathyFeiyang - PyTorch Lightning
DataModule
wrappers for PyG+PL multi-GPU training/inference without replicating datasets across processes :-
torch_geometric.data.LightningDataset
for multi-GPU training via PL on graph-level tasks [Example] (#3596, #3634) -
torch_geometric.data.LightningNodeData
for multi-GPU training via PL on node-level tasks [Example] (#3613, #3634)
-
-
NeighborLoader
: Added CUDA support leading to major runtime improvements [Example] (#3736) -
MessagePassing
: Added theedge_updater
/edge_update
interface for updating edge features (#3450) - thanks to @Padarn -
GNNExplainer
: Added an example that reproduces the official BA-Shapes experiment (#3386) - thanks to @RBendias -
torch_geometric.graphgym
: Support for heterogeneous graphs and lazy initialization (#3460) - thanks to @JiaxuanYou -
MLP
: Added a basic MLP implementation (#3553) -
PointTransformer
: Classification and segmentation examples (#3344) - thanks to @QuanticDisaster and @wsad1 -
ShaDowKHopSampler
: Added an example (#3411) - thanks to @SubhajitDuttaChowdhury -
Data.subgraph(...)
implementation (#3521)
Datasets
-
HGBDataset
benchmark suite (#3454) -
MalNetTiny
dataset (#3472) - thanks to @rampasek -
OMDB
: Organic Materials Database (#3506) -
BAShapes
: The BA-Shapes dataset (#3386) - thanks to @RBendias -
PolBlogs
andEmailEUCore
datasets (#3534) - thanks to @AlexDuvalinho -
StochasticBlockModel
andRandomPartition
graph datasets (#3586) - thanks to @dongkwan-kim -
LINKXDataset
: A subset of the non-homophilous benchmark datasets fromLINKX
-
FakeDataset
andFakeHeteroDataset
for testing purposes (#3741) - thanks to @levulinh
Minor Changes
-
torch_geometric.nn.norm
: Improved the runtimes of normalization layers - thanks to @johnpeterflynn -
DataLoader
andNeighborLoader
: Output tensors are now written to shared memory to avoid an extra copy in casenum_workers > 0
(#3401 and #3734) - thanks to @johnpeterflynn -
GATv2Conv
: Support for edge features (#3421) - thanks to @Kenneth-Schroeder -
Batch.from_data_list
: Runtime improvements -
TransformerConv
: Runtime and memory consumption improvements (#3392) - thanks to @wsad1 -
mean_iou
: Added IoU computation via omitting NaNs (#3464) - thanks to @GericoVi -
DataLoader
:follow_batch
andexclude_keys
are now optional arguments - Improvements to the package metadata (#3445) - thanks to @cthoyt
- Updated the quick start widget to support PyTorch 1.10 (#3474) - thanks to @kathyfan
-
NeighborLoader
andHGTLoader
: Removed thepersistent_workers=True
default -
voxel_grid
: Thebatch
argument is now optional (#3533) - thanks to @QuanticDisaster -
TransformerConv
: JIT support (#3538) - thanks to @RobMcH - Lazy modules can now correctly be saved and loaded via
state_dict()
andload_state_dict()
(#3651) - thanks to @shubham-gupta-iitr -
from_networkx
: Support fornx.MultiDiGraph
(#3646) - thanks to @max-zipfl-fzi -
GATv2Conv
: Support for lazy initialization (#3678) - thanks to @richcmwang -
torch_geometric.graphgym
:register_*
functions can now be used as decorators (#3684) -
AddSelfLoops
: Now supports the full argument set oftorch_geometric.utils.add_self_loops
(#3702) - thanks to @dongkwan-kim - Documentation: Added shape information to a variety of GNN operators, e.g.,
GATConv
orChebConv
(#3697) - thanks to @saiden89 -
GATv2Conv
andHEATConv
: Removed unnecessarysize
argument inforward
(#3744) - thanks to @saiden89
Bugfixes
-
GNNExplainer
: Fixed a bug in theGCN
example normalization coefficients were wrongly calculated (#3508) - thanks to @RBendias -
HGTConv
: Fixed a bug in the residual connection formulation - thanks to @zzhnobug -
torch_geometric.grapghym
: Fixed a bug in the creation ofMLP
(#3431) - thanks to @JiaxuanYou -
torch_geometric.graphgym
: Fixed a bug in the dimensionality ofGeneralMultiLayer
(#3456) - thanks to @JiaxuanYou -
RandomLinkSplit
: Fixed a bug in negative edge sampling for undirected graphs (#3440) - thanks to @panisson -
add_self_loops
: Fixed a bug in adding self-loops with scalar-valued weights -
SchNet
: Fixed a bug in which abias
vector was not correctly initialized as zero - thanks to @nec4 -
Batch.from_data_list
: Replaced thetorch.repeat_interleave
call due to errors in forked processes (#3566) - thanks to @Enolerobotti -
NeighborLoader
: Fixed a bug in conjunction with PyTorch Lightning (#3602) - thanks to @pbielak -
NeighborLoader
andToSparseTensor
: Fixed a bug in casenum_nodes == num_edges
(#3683) - thanks to @WuliangHuang -
ToUndirected
: Fixed a bug in casenum_nodes == 2
(#3627) - thanks to @aur3l14no -
FiLMConv
: Fixed a bug in the backward pass due to the usage of in-place operations - thanks to @Jokeren -
GDC
: Fixed a bug in caseK > num_nodes
- thanks to @Misterion777 -
LabelPropagation
: Fixed a bug in the order of transformations (#3639) - thanks to @Riyer01 -
negative_sampling
: Fixed execution for GPU input tensors - thanks to @Sticksword and @lmy86263 -
HeteroData
: Fixed a bug in which node types were interpreted as edge types in case they were described by two characters (#3692) -
FastRGCNConv
: Fixed a bug in which weights were indexed on destination node index rather than source node index (#3690) - thanks to @Jokeren -
WikipediaNetwork
: Fixed a bug in downloading due to a change in URLs - thanks to @csbobby and @Kousaka-Honoka