benedekrozemberczki / pytorch_geometric_temporal

PyTorch Geometric Temporal: Spatiotemporal Signal Processing with Neural Machine Learning Models (CIKM 2021)
MIT License
2.61k stars 367 forks source link

mtm_1 example and multiple graph/graph classification consultancy. #206

Closed asafjo23 closed 1 year ago

asafjo23 commented 1 year ago

Hi torch geometric temporal :-)

First, thanks for this awesome lib ! Secondly, I am working on person re-identification problem and hoped to use the temporal GNN's in order to tackle the problem. As in mtm_1, I am using MediaPipe in order to extract pose estimation of the persons in different datasets (I want to contribute this datasets to this repo once I will finish my Master's). Im am trying to do a graph classification, an to train in a batch using one of the two: AAGCN/TemporalGNN. I am working with batches that means that my data is as follow: 1) node features: a tensor with a dimension of (batch, temporal dimension, number of nodes, node features). 2) ground truth: a tensor containing the ground truth person id's with a dimension of: (batch, 1). 3) edge index: since it is a static graph, this is a tensor of dimension: (2, num of connections). 4) edge attribute: tensor with all ones vector, dim: (1, number of edges).

I am trying to train a classifier with the following logic: 1) passing a batch throw temporal GNN. 2) do a global_mean_polling on the nodes dimension in order to extract graph representation. 3) passing the embeddings through linear layer for n_class classification. 4) use a loss on the prediction + embeddings.

I am not able to get a good results and wanted to ask a few question. 1) These models are able to be trained in batches? 2) I am using the Data object from torch geometric in order to load the data, is it fit to temporal signal? (I mean, until now, I treated the Data object only as a data structure, and I didn't think it ha any affect on training). 3) There is maybe an example of usage of the mtm_1 dataset? 4) Am I working right with torch geometric temporal lib? since I am working with multiple graphs (for each individual), I hoped maybe yo can give me an example of how to work with multiple graphs.

Thanks in advance for any answer/help, I hope to contribute my work at the end. I'll be able to share any further information/code upon request.

Thanks!

ZeynepP commented 1 year ago

Hi, did you find any answer to your questions? I have the same questions and I think loading data with torch geometric does not fit even I am able to generate the requested shape (Batch, F_in, T_in, N_nodes) Bests

asafjo23 commented 1 year ago

Hi, still not from an official response. I manged to build the datasets using the Data object under the pytorch_geometric package. Unfortunately, I cannot't share my whole code since my paper is being under review, but if you want, I can give you code examples on private email.

ZeynepP commented 1 year ago

Thank you. I hope your paper gets accepted. Please share your paper here. I also managed to use pytorch_geometric dataloader but I have horrible accuracy :(