据我所知,RandomHorizontalFlip等代替了图像,而不是向数据集添加新图像。如何通过使用PyTorch向数据集添加增强图像来增加数据集的大小?
我已经浏览了发布的链接&还没有找到解决方案。我想通过添加翻转/旋转图像来增加数据大小,但是文章解决了图像的就地处理问题。
谢谢。
发布于 2019-10-02 03:21:02
你为什么想要它?一般来说,增加数据集上的历元数就足够了,您的模型将至少看到一次每个图像的原始版本和增广版本(假设一个相对较高的历元数)。
解释:
例如,如果你的增强有50%的机会应用,在100年代之后,对于每一个样本,你将得到~50个原始图像样本和~50个增强样本。因此,增加数据集的大小相当于增加时间,但是(可能)在内存方面效率较低(需要将图像存储在内存中以获得高性能)。
发布于 2021-04-10 07:47:49
它需要一些解释。transforms.Compose
在<class 'torchvision.transforms.transforms.Compose'>
中创建了一个东西(您可以通过使用type()
来了解它的类)
例如:
train_tfm = transforms.Compose([transforms.Resize((128, 128)),transforms.ToTensor(),])
print(type(train_tfm))
因此,它不是数据集,因此不能直接协调一致。
在代码中搜索以查看携带增强指令的变量是如何进行的。
应该有某种数据读取器,可以在<class 'torchvision.datasets.folder.DatasetFolder'>
类中使用。
那么就可以使用:
concat_dataset = ConcatDataset([train_set_1, train_set_2])
https://stackoverflow.com/questions/54969705
复制