我想运行一个需要从_DataLoaderIter
导入torch.utils.data.dataloader
的代码。通过检查dataloader类的源代码,该方法就存在。但是,我得到了错误:
回溯(最近一次调用): 文件"main.py",第4行,在 进口数据 文件“D:\高光谱Data\RCAN\RCAN_TrainCode\code\data\__init__.py",第3行,在模块中 从dataloader导入MSDataLoader 文件“D:\高光谱Data\RCAN\RCAN_TrainCode\code\dataloader.py",第14行,在模块中 从torch.utils.data.dataloader导入_DataLoaderIter ImportError:无法导入名称“_DataLoaderIter”
为什么会发生这种情况?
发布于 2019-02-01 18:43:58
您的评论回答了这个问题:_DataLoaderIter
在1.0.0
中(您正在为其链接文档),但不在0.3.1
中,因为您可以检查这里 -它的名称没有前面的_
。
这是一个教科书中的例子,说明访问其他包的私有类/函数(通常以下划线作为前缀)是个坏主意--您对它们的实现和行为的稳定性没有任何保证。如果您需要它们的代码,通常最好将代码复制粘贴到您自己的文件中,因为至少可以保证它不会在更新和错误修复之间更改到torch
。
发布于 2019-04-01 11:53:35
为这个特定的回购创建一个新的虚拟环境并安装Torch0.4.0。我也遇到了同样的问题,重新安装TorchV0.4.0也帮了我的忙。
https://stackoverflow.com/questions/54467696
复制相似问题