导入错误:无法从'torch_geometric.utils'导入名称'dropout_edge'



我正在使用torch_geometric对数据集进行一些预处理。当尝试运行以下行,其中OneStepDataset是torch_geometry .data的子类时发生错误。数据集类

dataset_sample = OneStepDataset(OUTPUT_DIR, "valid", return_pos=True)
graph, position = dataset_sample[0]

编译器跟踪到C:...AppDataLocalProgramsPythonPython39libsite-packagestorch_geometricdatadataset.py:197

中的这些行
if (isinstance(idx, (int, np.integer))
194         or (isinstance(idx, Tensor) and idx.dim() == 0)
195         or (isinstance(idx, np.ndarray) and np.isscalar(idx))):
--> 197     data = self.get(self.indices()[idx])
198     data = data if self.transform is None else self.transform(data)
199     return data

但是没有显示导致这个错误的根行

ImportError: cannot import name 'dropout_edge' from 'torch_geometric.utils' (c:Users...AppDataLocalProgramsPythonPython39libsite-packagestorch_geometricutils__init__.py)

怎么回事?

你在评论中提到,你使用PyTorch几何版本2.2.0-你发布的错误,然而,来自不同的一个。您可以通过标记2.2.0进入GitHub源来识别-错误行是239。最后一个版本,其中错误是在197行是2.1.0(见GitHub源代码与标签2.1.0)。这个版本不包括torch_geometric.utils中的dropout_edge,而2.2.0有。

是什么意思?

显然,存在某种包版本不匹配。它可能是因为以不同的方式安装和重新安装(例如,同时通过pipconda),甚至手动篡改库文件而发生的。要确定,您需要对您的环境(例如,包含各自版本的软件包的确切列表)、安装过程以及此后的所有步骤有更多的了解。不过,这可能不值得。

<标题>

建议吗?一个快速的方法是简单地重新安装软件包。也就是说,如果您遇到了这种性质的问题,说明安装过程中出了问题,可能没有什么帮助。

我的建议是尝试使用一个新的环境,一个接一个地安装包(理想情况下,使用相同的包管理器),看看问题是否仍然存在。我看到您的库是全局安装的-下次尝试使用虚拟环境来缓解此类问题,或者能够快速恢复。您可以在Python文档中找到有关此主题的更多信息。

相关内容

  • 没有找到相关文章

最新更新