pyg-team / pytorch_geometric

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

Fix argument count issue in `fs.mv` call within `TUDataset` download method #9436

Closed ihkao closed 6 days ago

ihkao commented 1 week ago

Cause Analysis

The fs.mv function was incorrectly called with an extra recursive argument that is not supported by the LocalFileSystem.mv() method in the underlying file system handling library. Please see:

Traceback (most recent call last):
  File "/home/ikao/test/GNNInference.py", line 83, in <module>
    main()
  File "/home/ikao/test/GNNInference.py", line 62, in main
    dataset = load_data("ENZYMES")
  File "/home/ikao/test/GNNInference.py", line 49, in load_data
    dataset = TUDataset(root="/tmp/TUDataset", name=dataset_name, use_node_attr=True, use_edge_attr=False, cleaned=False)
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/datasets/tu_dataset.py", line 129, in __init__
    super().__init__(root, transform, pre_transform, pre_filter,
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/data/in_memory_dataset.py", line 81, in __init__
    super().__init__(root, transform, pre_transform, pre_filter, log,
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/data/dataset.py", line 112, in __init__
    self._download()
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/data/dataset.py", line 229, in _download
    self.download()
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/datasets/tu_dataset.py", line 199, in download
    fs.mv(filename, osp.join(self.raw_dir, osp.basename(filename)))
  File "/home/ikao/test/.venv/lib/python3.10/site-packages/torch_geometric/io/fs.py", line 193, in mv
    fs1.mv(path1, path2, recursive)
TypeError: LocalFileSystem.mv() takes 3 positional arguments but 4 were given

Changes Made

Removed the unsupported recursive argument from the fs.mv call in the io.fs.py file.

Testing

Tested the download and processing of the ENZYMES dataset using the modified TUDataset class. The dataset downloads and processes without throwing the TypeError.