pytorch_geometric icon indicating copy to clipboard operation
pytorch_geometric copied to clipboard

`RandomLinkSplit` needs a `Data` , which is a single graph, object as input.

Open Isabellajhon opened this issue 1 year ago • 2 comments

RandomLinkSplit needs a Data , which is a single graph, object as input.

dataset = MyOwnDataset(root = 'data/MeshData/')
dataset = dataset.shuffle()
from torch_geometric.data import Batch
# Convert from n graphs to one large graph with n disconnected components
data = Batch.from_data_list(dataset[:])
transform = RandomLinkSplit(is_undirected=True)
train_data, val_data, test_data = transform(dataset)

Originally posted by @wsad1 in https://github.com/pyg-team/pytorch_geometric/discussions/6344#discussioncomment-4600257

Isabellajhon avatar Jan 19 '24 18:01 Isabellajhon

I am trying to use RandomLinkSplit as described here but I couldn't handle dataset = MyOwnDataset(root = 'data/MeshData/') how can I use RandomLinkSplit with my own data? Which format the data file should be ?

Isabellajhon avatar Jan 19 '24 18:01 Isabellajhon

You can either pass in RandomLinkSplit as a transform to your dataset:

dataset = MyOwnDataset(root=..., transform=RandomLinkSplit(...))

or apply it on individual data objects

transform = RandomLinkSplit(...)
train_data, val_data, test_data = transform(dataset[0])

rusty1s avatar Jan 21 '24 10:01 rusty1s