Q:如何用torch.utils.data.DataLoader构建可迭代的数据装载器?
torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None, multiprocessing_context=None, generator=None)
Q:torch.utils.data.Dataset的功能是什么?
Q:DataLoader数据读取三问:读哪些,从哪读,怎么读
Q:DataLoader数据读取流程是怎样?
Q:torchvision(计算机视觉工具包)中有哪些模块以及相应的作用?
Q:pytorch的transform机制是在哪一步做?
Q:如何逐channel地对图像进行标准化?
transforms.Normalize(mean, std, inplace=False)
Q:如何从图像中心裁剪图片?
transforms.CenterCrop
Q:如何从图片中随机裁剪出尺寸为size的图片?
transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')
Q:如何随机大小、长宽比裁剪图片?
RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(3/4, 4/3), interpolation)
Q:FiveCrop和TenCrop的功能是什么?
transforms.FiveCrop(size)
transforms.TenCrop(size, vertival_flip=False)
Q:如何按照概率水平(左右)或垂直(上下)翻转图片?
RandomHorizontalFlip(p=0.5)
RandomVerticalFlip(p=0.5)
Q:如何随机旋转图片?
RandomRotation(degress, resample=False, expand=False, center=None)
Q:如何对图像边缘进行填充?
transforms.Pad(padding, fill=0, padding_mode='constant')
Q:如何调整亮度、对比度、 饱和度和色相?
transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)
Q:如何对把彩色图像转换为灰度图像?
Grayscale(num_output_channels)
RandomGrayscale(num_output_channels, p=0.1)
Q:如何对图像进行仿射变换?
RandomAffile(degrees, translate=None, scale=None, shear=None, resample=False, fillcolor=0)
Q:如何对图像进行随机遮挡?
RandomErasing(p=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=Flase)
transforms.ToTensor()
Q:如何自定义lambda方法?
transforms.Lambda(lambd)
transforms.TenCrop(200, vertical_flip=True) transforms.Lambda(lambda crops: torch.stack([transforms.Totensor()(crop) for crop in crops]))
Q:如何从一系列transforms方法中随机挑选一个?
- `transforms.RandomChoice([transforms1, transforms2, transforms3])`
Q:如何依概率执行一组transforms操作?
- `transforms.RandomApply([transforms1, transforms2, transforms3], p=0.5)`
Q:如何对一组transforms操作打乱顺序?
- `transforms.RandomOrder([transforms1, transforms2, transforms3])`
Q:用户如何自定义transforms方法?
- 调用方法:
- ```python
class Compose(object):
def __call__(self, img):
for t in self.transforms:
img = t(img)
return img
class YourTransforms(object): def init(self, ...): ... def call(self, img): ... return img