我想运行一个需要从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'
为什么会这样?在
为这个特定的repo创建一个新的虚拟环境并安装Torch0.4.0。我也遇到了同样的问题,重新安装torchv0.4.0对我来说很有帮助
您的评论回答了这个问题:}中,因为您可以检查here-其名称前面没有
_DataLoaderIter
存在于1.0.0
(您正在为其链接文档)中,但不在{_
。在这是一个教科书式的例子,为什么访问其他包的私有类/函数(通常以下划线作为前缀)是个坏主意——您对它们的实现和行为的稳定性没有任何保证。如果您需要他们的代码,通常最好将代码复制粘贴到您自己的文件中,因为至少可以保证在对
torch
进行更新和错误修复时不会发生变化。在相关问题 更多 >
编程相关推荐