继我的最后一个post之后,我现在正在尝试实现 torchvision.datasets.ImageFolder 类的子类。以下代码返回错误(“name 'default_loader'未定义”
),我不明白为什么。你能帮我一下吗?
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)
我在这里做错了什么?
提前致谢!
最佳答案
default_loader()
是 torchvision/datasets/folder.py
中定义的函数,以及 ImageFolder
和其他基于文件夹的数据集帮助程序。
但它并未在 torchvision/datasets/__init__.py
中导出(与ImageFolder
不同)。您仍然可以使用“from torchvision.datasets.folder import default_loader
”直接导入它 - 这应该可以解决您的导入错误。
关于python - Pytorch - torchvision.dataset.ImageFolder 的子类 - 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50817964/