pyg-team / pytorch_geometric

Graph Neural Network Library for PyTorch
https://pyg.org
MIT License
20.98k stars 3.62k forks source link

Example custom dataset yields TypeError #5369

Closed do-lania closed 2 years ago

do-lania commented 2 years ago

🐛 Describe the bug

When using the example custom dataset from documentation, I get a TypeError, when I create the dataset.

import torch
from torch_geometric.data import InMemoryDataset, download_url

class MyOwnDataset(InMemoryDataset):
    def __init__(self, root, transform=None, pre_transform=None, pre_filter=None):
        super().__init__(root, transform, pre_transform, pre_filter)
        self.data, self.slices = torch.load(self.processed_paths[0])

    @property
    def raw_file_names(self):
        return ["some_file_1", "some_file_2", ...]

    @property
    def processed_file_names(self):
        return ["data.pt"]

    def download(self):
        # Download to `self.raw_dir`.
        download_url(url, self.raw_dir)
        ...

    def process(self):
        # Read data into huge `Data` list.
        data_list = [...]

        if self.pre_filter is not None:
            data_list = [data for data in data_list if self.pre_filter(data)]

        if self.pre_transform is not None:
            data_list = [self.pre_transform(data) for data in data_list]

        data, slices = self.collate(data_list)
        torch.save((data, slices), self.processed_paths[0])

dataset = MyOwnDataset(root="/home/ubuntu/data/")

Exception has occurred: TypeError
join() argument must be str, bytes, or os.PathLike object, not 'ellipsis'

During handling of the above exception, another exception occurred:

  File "/home/ubuntu/kcn/dataset.py", line 33, in __init__
    super().__init__(root, transform, pre_transform, pre_filter)
  File "/home/ubuntu/kcn/dataset.py", line 64, in <module>
    dataset = MyOwnDataset(root="/home/ubuntu/data/")

Environment

do-lania commented 2 years ago

my bad, there's an ellipsis in raw_file_names...