Python报错如下,非常长一大串:
JKNet_pyg.py:None (JKNet_pyg.py)
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\runner.py:341: in from_call
result: Optional[TResult] = func()
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\runner.py:372: in
call = CallInfo.from_call(lambda: list(collector.collect()), “collect”)
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\python.py:531: in collect
self._inject_setup_module_fixture()
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\python.py:545: in _inject_setup_module_fixture
self.obj, (“setUpModule”, “setup_module”)
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\python.py:310: in obj
self._obj = obj = self._getobj()
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\python.py:528: in _getobj
return self._importtestmodule()
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\python.py:617: in importtestmodule
mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
E:\anaconda\envs\pytorch_gpu\lib\site-packages_pytest\pathlib.py:565: in import_path
importlib.import_module(module_name)
E:\anaconda\envs\pytorch_gpu\lib\importlib_init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
但是,以下这句提醒我们了修改方式
RuntimeError: The 'data' object was created by an older version of PyG. If this error occurred while loading an already existing dataset, remove the 'processed/' directory in the dataset's root folder and try again.
遇到的 RuntimeError 与 PyTorch Geometric(PyG)库的 data 对象和当前版本之间的兼容性有关。错误信息明确指出了需要做的事情:
‘data’ 对象是由 PyG 的旧版本创建的。如果在加载已经存在的数据集时出现此错误,请删除数据集根文件夹中的 ‘processed/’ 目录,然后重试。
这个错误可能是因为数据是用 PyG 的旧版本处理和保存的,而正在使用的当前版本无法处理那个旧格式。处理过的数据通常存储在数据集根文件夹内的 ‘processed/’ 目录中。
以下是解决此错误的步骤:
找到 ‘processed/’ 目录:在你的数据集根文件夹中找到 ‘processed/’ 目录。这个文件夹将包含以二进制文件形式存储的预处理数据。
删除或重命名 ‘processed/’ 目录:你可以删除该目录或将其重命名(例如为 ‘processed_backup/’)以保留备份。
重新运行你的代码:一旦删除或重命名了 ‘processed/’ 目录,重新运行你的代码。PyG 将使用库的当前版本重新处理数据,这应该可以解决兼容性问题。
按照这些步骤操作,错误应该可以解决。如果问题仍然存在,请确保运行代码与 PyG 的当前版本兼容,并考虑在必要时更新库。
我直接把删除 ‘processed/’ 目录即可排除报错。