pytorch_geometric icon indicating copy to clipboard operation
pytorch_geometric copied to clipboard

[Roadmap] New PyTorch Geometric Releases

Open rusty1s opened this issue 3 years ago • 20 comments

[Roadmap]

1.6.1

  • [x] WikiCSDataset
  • [x] DeepGCN
  • [x] Fix torch-sparse reductions with dim=0
  • [x] Fix torch-sparse suppression of warnings
  • [x] PairNorm (https://github.com/rusty1s/pytorch_geometric/pull/1448)
  • [x] LayerNorm (https://github.com/rusty1s/pytorch_geometric/pull/1471)
  • [x] Fix jittable bug when installing PyG via pip
  • [x] PyTorch 1.6.0 support
  • [x] Test GNNExplainer with more models

1.6.2

  • [x] Fix wrong URLs in datasets
  • [x] WebKB datasets from the Geom-GCN paper
  • [x] GCN2Conv from the Simple and Deep Graph Convolutional Networks paper
  • [x] TransformerConv from Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
  • [x] Unsupervised GraphSAGE example (https://github.com/rusty1s/pytorch_geometric/pull/1514) [Example]
  • [x] DistributedDataParallel support:
    • [x] Large-scale node classification (https://github.com/rusty1s/pytorch_geometric/pull/1453)
    • [x] Batching of graphs (https://github.com/rusty1s/pytorch_geometric/issues/1417#issuecomment-664119294) [Example]
  • [x] Node2Vec implementation with p != 1 and q != 1
  • Faster CPU implementations in torch-scatter and torch-sparse via multi-threading:
    • [x] spmm
  • [x] Add edge weights to the documentation of GNN formulations, see https://github.com/rusty1s/pytorch_geometric/issues/1449
  • [x] Clean up documentation via autosummary (https://github.com/rusty1s/pytorch_geometric/pull/1791)
  • [x] follow_batch argument in DataParallel

1.6.3.

  • [x] WikipediaNetwork and Actor datasets from the Geom-GCN paper
  • [x] torch_geometric.utils.homophily_ratio

1.7.0+

  • [x] Deep Graph Infomax Inductive Reddit Example (https://github.com/rusty1s/pytorch_geometric/pull/1859) (thanks to @harrygcoppock)
  • [x] TGN (Temporal Graph Network) (https://github.com/rusty1s/pytorch_geometric/pull/1519) (thanks to @emalgorithm)
  • [x] Weisfeiler-Lehman kernel (thanks to @chrsmrrs)
  • [x] Label Propagation
  • [x] Correct&Smooth
  • [x] PyTorch Lightning Example (GIN + GraphSAGE)
  • [x] FiLMConv
  • [x] Conda installation
  • [x] cupgraph conversions
  • [x] Fix HyperGraphConv https://github.com/rusty1s/pytorch_geometric/issues/1801
  • [x] scatter_mul implementation
  • [ ] NARS
  • [ ] spspmm backward implementation
  • [ ] Multi-dimensional indexing of SparseTensor, e.g., adj[torch.tensor([0, 1, 2]), torch.tensor([0, 1, 2])]
  • [ ] Allow edge types for any message passing GNN (https://github.com/rusty1s/pytorch_geometric/issues/1670)
  • [ ] Make all CPP sampling ops respect torch.manual_seed
  • [ ] random_walk with custom transition probabilities
  • [x] torch.half support
  • [ ] Digraph Inception Convolutional Networks (https://github.com/rusty1s/pytorch_geometric/issues/1847)
  • Faster CPU implementations in torch-scatter and torch-sparse via multi-threading:
    • [x] fps
    • [ ] spspmm
    • [ ] scatter
    • [ ] segment
  • [ ] NeighborSampler with GCNConv example
  • [ ]TrimNet (TrimNet: learning molecular representation from triplet messages for biomedicine)
  • [x] Let TransformerConv be able to return attention weights (https://github.com/rusty1s/pytorch_geometric/pull/2807)

rusty1s avatar Jul 27 '20 06:07 rusty1s

I am not sure if this is helpful, or indeed even the correct place for this - please let me know if not and I can remove it. However I thought it might be useful to note that I have been using pytorch geometric with pytorch 1.6.0 over the past few days and haven't noticed any issues. My exact versions of the relevant packages are:

torch                      1.6.0rc7

torch-cluster              1.5.6

torch-geometric            1.6.0

torch-scatter              2.0.5

torch-sparse               0.6.6

torch-spline-conv          1.2.0

I can run the test suite if it would be helpful?

sbonner0 avatar Jul 29 '20 10:07 sbonner0

Thanks for letting me know. I also encountered no major issues while upgrading. However, I still need to provide updated wheels for the latest PyTorch release.

rusty1s avatar Jul 29 '20 11:07 rusty1s

Hi @rusty1s ,

I tried to install PyTorch Geometric with PyTorch 1.6.0 by following the instructions here. However, I cannot find the updated wheels for torch-sparse and torch-cluster. May I know if they will become available in the near future? Thanks!

yangky11 avatar Aug 01 '20 21:08 yangky11

Sure, they should be available next week :)

rusty1s avatar Aug 01 '20 23:08 rusty1s

Just built sparse/scatter/cluster/spline-conv/geometric with PyTorch master, CUDA 11, cudnn8, GCC 9.3, MAGMA 2.5.2. Encountered no issues either compiling or running.

aluo-x avatar Aug 02 '20 00:08 aluo-x

Just to add more to this, I've been using torch 1.6 throughout its development period, including the RCs. Never any problems.

lgray avatar Aug 02 '20 14:08 lgray

Hi there,

I sm trying to read my data using TORCH_GEOMETRIC.IO.TU code. My data type is exactly similar to the enzymes dataset. However, the program stops with the Illegal instruction (core dumped) error at this line "node_slice = torch.cumsum(torch.from_numpy(np.bincount(batch)), 0)" in the split function. It seems that the problem is with the dimension but I can't figure out what the solution is. Could you please help with this.

Please note, I installed the package exactly as it is mentioned in the document.

Thanks

GTaherzadeh avatar Sep 02 '20 23:09 GTaherzadeh

Not sure if that's the best place to discuss this issue :)

You can create a separate issue for that. If you also provide your raw data, I can help you identify the issue.

rusty1s avatar Sep 03 '20 07:09 rusty1s

Hi Matthias,

Thanks for your quick reply. I have created a new issue here: https://github.com/rusty1s/pytorch_geometric/issues/1601

GTaherzadeh avatar Sep 03 '20 12:09 GTaherzadeh

Hi Matthias, maybe it would be worth to replace network-x by cugraph, when gpu is supported.

I just have heard about it and thought, that it would make sense to give you a hint, if you havent heard about it before.

Regrads.

[EDIT:] I have just seen, that nx is just used in datasets and examples. Therefore, it seems not to be that util. So just in case you need algorithms from network-x, it could be worth to have a look at cugraph. Or for numpy, have a look at cupy ;).

jannessm avatar Oct 08 '20 13:10 jannessm

Please make sure you have the SuperpixelMnist dataset fixed in the next updates, thank you.

levulinh avatar Oct 13 '20 06:10 levulinh

cugraph conversions is a good idea, I added it to the roadmap. The SuperpixelDataset is already fixed in master.

rusty1s avatar Oct 13 '20 16:10 rusty1s

Just released PyTorch Geometric 1.6.2!

Thanks to many wonderful contributors :) Please let me know if you encounter any issues.

rusty1s avatar Nov 27 '20 07:11 rusty1s

Can we add the FAConv to the next release? It's already in the source. Thanks!

eduardohenriquearnold avatar Apr 08 '21 08:04 eduardohenriquearnold

I have plans to release a new version today :)

rusty1s avatar Apr 09 '21 06:04 rusty1s

@rusty1s Very eager to get half support. When can we expect this? Thanks in advance.

karthi0804 avatar Jun 28 '21 01:06 karthi0804

I'm pretty sure that PyTorch 1.9.0 contains all the necessary tools to allow for half-precision in torch-scatter and torch-sparse. I will look into it.

rusty1s avatar Jun 29 '21 10:06 rusty1s

Hi @rusty1s I have changes TGN.py model for link prediction into edge classification. The model runs for me but unfortunately loss is very high and remains constant through out which means that model is not learning at all. I am not sure what I am missing here. So far I am using similar TGN link prediction example and have made following changes in the train and test functions as:
y_pred = pos_out.argmax(dim=1) y_true = batch.y loss = criterion(y_pred.float(), y_true.float()) I am not sure what I am missing here. the loss value turns out to be 8.02 and remains constant, same goes for accuracy which turns out to be a constant value of .65.Could you think of what I might be missing please?

always-ready2learn avatar Aug 10 '22 01:08 always-ready2learn

If you want to perform classification, then I think y_true shouldn't be a floating-point tensor. What's the loss function you are using? Note that this is best discussed in a separate issue/discussion - not necessarily in this roadmap issue here :)

rusty1s avatar Aug 10 '22 04:08 rusty1s

Hi thanks for your reply, I changed y_true to long and y_pred to float. The loss function I tried with is BCELoss and CrossEntropyLoss. Same issue is occurring with both. Thanks for pointing that, I found it to be similar topic but you are right issue is quite diff. I’ll move this discussion to a separate issue sooner. :)

always-ready2learn avatar Aug 10 '22 05:08 always-ready2learn

@rusty1s would like to give it a shot! spspmm backward implementation

rajveer43 avatar Aug 09 '23 09:08 rajveer43

I think this is no longer an issue since we are using PyTorch's spspmm functionality by now.

rusty1s avatar Aug 11 '23 14:08 rusty1s