继上一个post之后,我现在正在尝试实现torchvision.datasets.ImageFolder类的一个子类。下面的代码返回一个错误("name 'default_loader' is not defined"),我不知道原因。你能帮帮我吗?
class ExtendingImageFolder(torchvision.datasets.ImageFolder)
def __init__(self,root,transform=None, target_transform=None,loader=default_loader):
super().__init__(root,transform,target_transform,loader)当我删除"None“和"default_loader”时,写成这样;
class ExtendingImageFolder(torchvision.datasets.ImageFolder)
def __init__(self,root,transform, target_transform,loader):
super().__init__(root,transform,target_transform,loader)在尝试创建该类的实例时,会发现缺少输入参数的错误,如下所示:
JJ=ExtendingImageFolder(root='C:/',transform=transform)我在这里做错什么了?
提前感谢!
发布于 2018-06-12 13:20:06
default_loader()是在torchvision/datasets/folder.py、ImageFolder和其他基于文件夹的数据集帮助程序中定义的函数.
但是,它不是在torchvision/datasets/__init__.py中导出的(与ImageFolder不同)。您仍然可以使用"from torchvision.datasets.folder import default_loader“直接导入它--这将解决您的导入错误。
https://stackoverflow.com/questions/50817964
复制相似问题