[Pytorch]Pytorch中图像的基本操做(TenCrop)

转自:https://www.jianshu.com/p/73686691cf13python

下面是几种常写的方式app

第一种方式

normalize = transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        transformList = []
        transformList.append(transforms.RandomResizedCrop(transCrop))
        transformList.append(transforms.RandomHorizontalFlip())
        transformList.append(transforms.ToTensor())
        transformList.append(normalize)
        transformSequence = transforms.Compose(transformList)

第二种方式

train_augmentation = torchvision.transforms.Compose([torchvision.transforms.Resize(256),
                                                    torchvision.transforms.RandomCrop(224),                                                                            
                                                    torchvision.transofrms.RandomHorizontalFlip(),
                                                    torchvision.transforms.ToTensor(),
                                                    torch vision.Normalize([0.485, 0.456, -.406], [0.229, 0.224, 0.225])
                                                    ])

须要主要的是:dom

  • Pytorch 经常使用PIL库来读取图像数据,读取以后的格式是PIL Image
  • 在进行Normalize时, 须要先转成Tensor的形式.
  • Resize和crop的操做是对 PIL Image 的格式进行的操做.如今论文中通常将图片先resize到(256,256)而后randomCrop到(224,和224)中.

Resize和Crop的区别

resize至关于对原来的图像进行压缩,大体的形状是不发生变化的,也就是说能够看到图片的样子
Crop是对图片进行随机的剪切,切出来的多是整个图片的一部分,其中RandomCrop的操做更经常使用
RandomResizedCrop类也是比较经常使用, 总的来说就是先作crop,再resize到指定尺寸oop

FiveCrop和TenCrop

这两种操做以后,一张图变成五张,一张图变成十张,那么在训练或者测试的时候怎么避免和标签混淆呢
思路是,这多个图拥有相同的标签,假如是分类任务,就能够使用交叉熵进行,而后求10张图的平均测试

transform = Compose([
    TenCrop(size), # this is a list of PIL Images
    Lambda(lambda crops: torch.stack([ToTensor()(crop) for crop in crops])) # returns a 4D tensor
])

#In your test loop you can do the following:
input, target = batch # input is a 5d tensor, target is 2d
bs, ncrops, c, h, w = input.size()
result = model(input.view(-1, c, h, w)) # fuse batch size and ncrops
result_avg = result.view(bs, ncrops, -1).mean(1) # avg over crops
相关文章
相关标签/搜索