中的\u dataloader出错torch.utils.data.数据加载

2024-07-05 15:36:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想运行一个需要从torch.utils.data.dataloader导入_DataLoaderIter的代码。通过检查dataloader类的source code,该方法存在。但是,我得到了一个错误:

Traceback (most recent call last):

File "main.py", line 4, in

import data

File "D:\Hyperspectral Data\RCAN\RCAN_TrainCode\code\data\__init__.py", line 3, in module

from dataloader import MSDataLoader

File "D:\Hyperspectral Data\RCAN\RCAN_TrainCode\code\dataloader.py", line 14, in module

from torch.utils.data.dataloader import _DataLoaderIter

ImportError: cannot import name '_DataLoaderIter'

为什么会这样?在


Tags: inpyimportdatalinecodeutilstorch
2条回答

为这个特定的repo创建一个新的虚拟环境并安装Torch0.4.0。我也遇到了同样的问题,重新安装torchv0.4.0对我来说很有帮助

您的评论回答了这个问题:_DataLoaderIter存在于1.0.0(您正在为其链接文档)中,但不在{}中,因为您可以检查here-其名称前面没有_。在

这是一个教科书式的例子,为什么访问其他包的私有类/函数(通常以下划线作为前缀)是个坏主意——您对它们的实现和行为的稳定性没有任何保证。如果您需要他们的代码,通常最好将代码复制粘贴到您自己的文件中,因为至少可以保证在对torch进行更新和错误修复时不会发生变化。在

相关问题 更多 >