【pytorch】transform的使用
2026/6/15 3:30:50 网站建设 项目流程

一、transforms的用法

transforms​ 是数据预处理与增强的核心工具,主要用于将原始图像转换为模型可接受的格式,并通过随机变换丰富数据集以提高模型泛化能力。
导入方式:

fromtorchvisionimporttransforms

主要用法,按顺序

transform_pipeline=transforms.Compose([transforms.Resize(256),# 调整图像大小至256x256(保持宽高比)transforms.CenterCrop(224),# 从中心裁剪224x224区域(常用预训练模型输入尺寸)transforms.RandomHorizontalFlip(p=0.5),# 以50%概率水平翻转(数据增强)transforms.ToTensor(),# 将PIL图像转换为Tensor(像素值缩放至[0,1])transforms.Normalize(# 标准化(使用ImageNet均值/方差)mean=[0.485,0.456,0.406],# RGB通道均值std=[0.229,0.224,0.225]# RGB通道标准差)])

二、transform的使用

将PIL图像转换成Tensor类型

fromPILimportImagefromtorchvisionimporttransforms img_path=r'data/train/ants_image/0013035.jpg'img=Image.open(img_path)tensor_trans=transforms.ToTensor()tensor_img=tensor_trans(img)print(tensor_img.shape)#CHW


通过tensor()类型的数据生成tensorboard图

fromPILimportImagefromtorch.utils.tensorboardimportSummaryWriterfromtorchvisionimporttransforms img_path=r'data/train/ants_image/0013035.jpg'img=Image.open(img_path)tensor_trans=transforms.ToTensor()tensor_img=tensor_trans(img)# print(tensor_img.shape) #CHWwriter=SummaryWriter('logs')writer.add_image('tensor_img',tensor_img,0)writer.close()


Normalize()归一化使用

fromPILimportImagefromtorch.utils.tensorboardimportSummaryWriterfromtorchvisionimporttransforms img_path=r'data/train/ants_image/0013035.jpg'img=Image.open(img_path)tensor_trans=transforms.ToTensor()tensor_img=tensor_trans(img)# print(tensor_img.shape) #CHWwriter=SummaryWriter('logs')norm_trans=transforms.Normalize([0.485,0.456,0.406],[0.5,0.5,0.5])norm_img=norm_trans(tensor_img)writer.add_image('tensor_img',tensor_img,0)writer.add_image('norm_img',norm_img,1)writer.close()

归一化后的图片和未归一化的图片

Resize()调整大小的使用

fromPILimportImagefromtorch.utils.tensorboardimportSummaryWriterfromtorchvisionimporttransforms img_path=r'data/train/ants_image/0013035.jpg'img=Image.open(img_path)tensor_trans=transforms.ToTensor()tensor_img=tensor_trans(img)# print(tensor_img.shape) #CHWwriter=SummaryWriter('logs')norm_trans=transforms.Normalize([0.485,0.456,0.406],[0.5,0.5,0.5])norm_img=norm_trans(tensor_img)# print(img.size)resize_trans=transforms.Resize((256,256))resize_img=resize_trans(tensor_img)writer.add_image('resize_img',resize_img,0)# print(resize_img.size)#Compose用法trans_resize_2=transforms.Compose([transforms.Resize((512)),transforms.ToTensor()])img_resize_2=trans_resize_2(img)writer.add_image('tensor_img',tensor_img,0)writer.add_image('norm_img',norm_img,1)writer.add_image('img_resize_2',img_resize_2,2)writer.close()

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询