pytorch中图像增强后的图像数量

omhiaaxx  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(135)

我有100张图像,我使用Pytorch函数RandomHorizontalFlipRandomVerticalFlip以概率1应用了水平和垂直增强。在此之后,我的图像总数将是300或其他?

xtfmy6hx

xtfmy6hx1#

你可以得到300张图片,如果你保持原来的100张图片,然后分别调用和存储两个函数的返回,例如:

from torchvision import transforms
import torch

trhf = transforms.RandomHorizontalFlip(p=1.)
trvf = transforms.RandomVerticalFlip(p=1.)

imgs = torch.rand(100, 3, 28, 28)
imgs_hf = trhf(imgs)
imgs_vf = trvf(imgs)

all_imgs = torch.cat((imgs, imgs_hf, imgs_vf), 0)
all_imgs.size()

字符串
输出:

imgs_hf size: torch.Size([100, 3, 28, 28]), imgs_vf size: torch.Size([100, 3, 28, 28]), all_imgs size: torch.Size([300, 3, 28, 28])


但是如果你在这两个函数上使用transforms.Composetorch.nn.Sequential,那么它只会返回相同大小的图像(即100)。

xtfmy6hx

xtfmy6hx2#

上面的插图是精确的。[显示是否要增加数据集大小]但当您使用transforms.Compose函数时,它会在运行时增加图像并在操作后转储它们。这是因为存储冗余数据仅仅是存储开销。

相关问题