我正在使用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
有。
是什么意思?
显然,存在某种包版本不匹配。它可能是因为以不同的方式安装和重新安装(例如,同时通过pip
和conda
),甚至手动篡改库文件而发生的。要确定,您需要对您的环境(例如,包含各自版本的软件包的确切列表)、安装过程以及此后的所有步骤有更多的了解。不过,这可能不值得。
建议吗?一个快速的方法是简单地重新安装软件包。也就是说,如果您遇到了这种性质的问题,说明安装过程中出了问题,可能没有什么帮助。
我的建议是尝试使用一个新的环境,一个接一个地安装包(理想情况下,使用相同的包管理器),看看问题是否仍然存在。我看到您的库是全局安装的-下次尝试使用虚拟环境来缓解此类问题,或者能够快速恢复。您可以在Python文档中找到有关此主题的更多信息。
标题>