pyg-team / pytorch_geometric

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

Quick start The first example failed with "dataset = TUDataset(root='/home/zhangzhen/pygstart/dataset/ENZYMES', name='ENZYMES')" #9330

Closed zhang-zhen-project closed 1 month ago

zhang-zhen-project commented 1 month ago

🐛 Describe the bug

It's code:

import torch from torch_geometric.data import Data from torch_geometric.datasets import TUDatase dataset = TUDataset(root='/home/zhangzhen/pygstart/dataset/ENZYMES', name='ENZYMES')

Run failed info: TypeError: mv() takes 3 positional arguments but 4 were given

Then I get into class "tu_dataset.TUDataset", and found the code in line 199 "fs.mv(filename, osp.join(self.raw_dir, osp.basename(filename)))" however, I can't debug with it, please help me~ Thank you!

Versions

It's my conda list:

_libgcc_mutex 0.1 main _openmp_mutex 5.1 1_gnu aiohttp 3.9.5 pypi_0 pypi aiosignal 1.3.1 pypi_0 pypi async-timeout 4.0.3 pypi_0 pypi attrs 23.2.0 pypi_0 pypi ca-certificates 2024.3.11 h06a4308_0 certifi 2024.2.2 pypi_0 pypi charset-normalizer 3.3.2 pypi_0 pypi filelock 3.14.0 pypi_0 pypi frozenlist 1.4.1 pypi_0 pypi fsspec 2024.5.0 pypi_0 pypi idna 3.7 pypi_0 pypi jinja2 3.1.4 pypi_0 pypi joblib 1.4.2 pypi_0 pypi ld_impl_linux-64 2.38 h1181459_1 libffi 3.4.4 h6a678d5_1 libgcc-ng 11.2.0 h1234567_1 libgomp 11.2.0 h1234567_1 libstdcxx-ng 11.2.0 h1234567_1 markupsafe 2.1.5 pypi_0 pypi mpmath 1.3.0 pypi_0 pypi multidict 6.0.5 pypi_0 pypi ncurses 6.4 h6a678d5_0 networkx 3.1 pypi_0 pypi numpy 1.24.4 pypi_0 pypi nvidia-cublas-cu12 12.1.3.1 pypi_0 pypi nvidia-cuda-cupti-cu12 12.1.105 pypi_0 pypi nvidia-cuda-nvrtc-cu12 12.1.105 pypi_0 pypi nvidia-cuda-runtime-cu12 12.1.105 pypi_0 pypi nvidia-cudnn-cu12 8.9.2.26 pypi_0 pypi nvidia-cufft-cu12 11.0.2.54 pypi_0 pypi nvidia-curand-cu12 10.3.2.106 pypi_0 pypi nvidia-cusolver-cu12 11.4.5.107 pypi_0 pypi nvidia-cusparse-cu12 12.1.0.106 pypi_0 pypi nvidia-nccl-cu12 2.18.1 pypi_0 pypi nvidia-nvjitlink-cu12 12.4.127 pypi_0 pypi nvidia-nvtx-cu12 12.1.105 pypi_0 pypi openssl 3.0.13 h7f8727e_1 pip 24.0 py38h06a4308_0 psutil 5.9.8 pypi_0 pypi pyg-lib 0.4.0+pt21cu121 pypi_0 pypi pyparsing 3.1.2 pypi_0 pypi python 3.8.19 h955ad1f_0 readline 8.2 h5eee18b_0 requests 2.31.0 pypi_0 pypi scikit-learn 1.3.2 pypi_0 pypi scipy 1.10.1 pypi_0 pypi setuptools 69.5.1 py38h06a4308_0 sqlite 3.45.3 h5eee18b_0 sympy 1.12 pypi_0 pypi threadpoolctl 3.5.0 pypi_0 pypi tk 8.6.14 h39e8969_0 torch 2.1.0+cu121.with.pypi.cudnn pypi_0 pypi torch-cluster 1.6.3+pt21cu121 pypi_0 pypi torch-geometric 2.5.3 pypi_0 pypi torch-scatter 2.1.2+pt21cu121 pypi_0 pypi torch-sparse 0.6.18+pt21cu121 pypi_0 pypi torch-spline-conv 1.2.2+pt21cu121 pypi_0 pypi tqdm 4.66.4 pypi_0 pypi triton 2.1.0 pypi_0 pypi typing-extensions 4.11.0 pypi_0 pypi urllib3 2.2.1 pypi_0 pypi wheel 0.43.0 py38h06a4308_0 xz 5.4.6 h5eee18b_1 yarl 1.9.4 pypi_0 pypi zlib 1.2.13 h5eee18b_1

gbg141 commented 1 month ago

Came accross the same problem with other datasets as well. It seems that pytorch_geometric>=2.5.0 versions have a bug at line 193 of torch_geometric/io/fs.py. The issue relates with the optional recursive parameter of the fs1.mv() method; I guess that a quick fix should be changing that line to something like fs1.mv(path1, path2, recursive=recursive)

Until this is tackled, downgrading to pytorch_geometric==2.4.0 could work as a temporary solution.

rusty1s commented 1 month ago

Fixed on master.

FlynnDowey commented 4 weeks ago

Same issue, still not fixed.

dataset = TUDataset(root='data/ENZYMES', name='ENZYMES', use_edge_attr=True, use_node_attr=True)
fs1.mv(path1, path2, recursive)
TypeError: mv() takes 3 positional arguments but 4 were given
rusty1s commented 3 weeks ago

Are you on nightly version of PyG?

girolamogiudice commented 2 weeks ago

Same issue here. not fixed version 2.5.3

natalia-dubljevic commented 1 week ago

Unfortunately, I've been running into the same issue as well 😢 I'm using WSL2 and pyg version 2.5.2.

rusty1s commented 1 week ago

Yeah, that's an issue on Windows due to versioning. It is fixed on latest PyG master.

girolamogiudice commented 1 week ago

Yeah, that's an issue on Windows due to versioning. It is fixed on latest PyG master.

Hello, I am using Linux and is not working on version 2.5.3. downgrading to 2.4 fixed it