pytorch学习笔记02-DataLoader-Dataset-transforms

Content:

      • 1. DataLoader
          • torch.utils.data.DataLoader
      • 2. Dataset
          • torch.utils.data.Dataset
      • 3. 图像预处理——transforms
          • (1) transforms.CenterCrop 从图像中心裁剪尺寸为size的图片
          • (2) transforms.RandomCrop 从图像中随机裁剪出尺寸为size的图片
          • (3) transforms.RandomResizedCrop 随机大小、长宽比裁剪图片
          • (4) transforms.FiveCrop/TenCrop 在图像的上下左右及中心裁剪出尺寸为size的5/10张图片
          • (5) transforms.RandomHorizontalFlip/RandomVerticalFlip 依概率水平或垂直翻转图片
          • (6) transforms.RandomRotation
          • (7) transforms.Pad
          • (8) transforms.ColorJitter 调整亮度、对比度、饱和度和色相
          • (9) transforms.RandomAffine 对图像进行仿射变换
          • (10) transforms.RandomErasing 对图像进行随机遮挡
          • (11) transforms.Lambda 用户自定义的lambda方法
          • (12) transforms.Resize
          • (13) transforms.ToTensor 转换成tensor
          • (14) transforms.Normalize(mean, std) 数据标准化,即转换成标准正态分布,使更容易收敛
          • (15) 自定义图像增强方法
          • (16) 自定义transforms Compose([...]) 要素

1. 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)

2. Dataset

torch.utils.data.Dataset

eg:

	class Dataset(object):
		def __getitem__(self, index):
			raise NotImplementedError

		def __add__(self, other):
			return ConcatDataset([self, other])

3. 图像预处理——transforms

torchvision.transforms

(1) transforms.CenterCrop 从图像中心裁剪尺寸为size的图片
(2) transforms.RandomCrop 从图像中随机裁剪出尺寸为size的图片
(3) transforms.RandomResizedCrop 随机大小、长宽比裁剪图片
(4) transforms.FiveCrop/TenCrop 在图像的上下左右及中心裁剪出尺寸为size的5/10张图片
(5) transforms.RandomHorizontalFlip/RandomVerticalFlip 依概率水平或垂直翻转图片
(6) transforms.RandomRotation
(degress,  # 旋转角度
 resample=False,  # 重采样方法
 expand=False,  # 是否扩大图片
 center=None)  随机旋转图片
(7) transforms.Pad
(padding,  # 设置填充大小 
 fill=0,  
 padding_mode='constant'  # 填充模式[constant, edge, reflect, symmetric]
 )   对图像边缘进行填充
(8) transforms.ColorJitter 调整亮度、对比度、饱和度和色相
(9) transforms.RandomAffine 对图像进行仿射变换

(一种二维的线性变换,由五种【旋转、平移、缩放、错切、翻转】基本原子变换构成)

(10) transforms.RandomErasing 对图像进行随机遮挡
(11) transforms.Lambda 用户自定义的lambda方法
(12) transforms.Resize
(size,  # size:[h,w]
interpolation=2)    # interpolation 默认	PIL.Image.BILINEAR
(13) transforms.ToTensor 转换成tensor
(14) transforms.Normalize(mean, std) 数据标准化,即转换成标准正态分布,使更容易收敛
(15) 自定义图像增强方法
(16) 自定义transforms Compose([…]) 要素

你可能感兴趣的:(pytorch,深度学习)