news 2026/5/17 1:43:19

【pytorch】transform的使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【pytorch】transform的使用

一、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()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 10:16:48

Magpie-LuckyDraw:多平台3D抽奖系统的技术架构深度解析

Magpie-LuckyDraw:多平台3D抽奖系统的技术架构深度解析 【免费下载链接】Magpie-LuckyDraw 🏅A fancy lucky-draw tool supporting multiple platforms💻(Mac/Linux/Windows/Web/Docker) 项目地址: https://gitcode.com/gh_mirrors/ma/Magp…

作者头像 李华
网站建设 2026/5/13 11:38:46

数据治理如何真正落地?这8大案例的破局之战,就是你的避坑指南

我们都知道数据治理很重要,但一提到如何落地,很多人都会陷入“道理都懂,却依然做不好”的困境。真正的难点在于,不同行业、不同规模、不同痛点的企业,该如何找到那条专属的实施路径?亿信华辰新书《数据治理…

作者头像 李华
网站建设 2026/5/15 20:29:29

EmotiVoice在语音广告制作中的高效应用案例

EmotiVoice在语音广告制作中的高效应用 在数字营销的浪潮中,品牌与用户之间的每一次触达都变得愈发珍贵。尤其是在短视频、社交媒体和电商平台主导流量入口的今天,一条30秒的语音广告可能决定一次冲动消费是否发生。然而,传统语音广告制作却仍…

作者头像 李华
网站建设 2026/5/15 0:28:37

科技不应逾越人性底线:我们的立场声明

科技不应逾越人性底线:我们的立场声明 在某次深夜调试语音助手时,我听到一段由AI生成的“愤怒”语音——语速急促、音调尖锐,几乎与真人无异。那一刻,我没有感到技术突破的欣喜,反而心头一紧:如果这声音被用…

作者头像 李华
网站建设 2026/5/13 12:29:24

Lime开源编辑器深度体验:从Sublime Text用户到贡献者的完整解析

Lime开源编辑器深度体验:从Sublime Text用户到贡献者的完整解析 【免费下载链接】lime Open source API-compatible alternative to the text editor Sublime Text 项目地址: https://gitcode.com/gh_mirrors/li/lime 作为一名长期使用Sublime Text的开发者&…

作者头像 李华
网站建设 2026/5/16 12:30:34

ThingsBoard物联网平台Vue3前端开发实战指南

ThingsBoard物联网平台Vue3前端开发实战指南 【免费下载链接】thingsboard-ui-vue3 本项目为基于Vue3开发的 ThingsBoard 前台 ,AntDesginVue、VbenVueAdmin、AntV X6、规则链代码已全部开放、ThingsBoard3.x持续更新中 项目地址: https://gitcode.com/oliver225/thingsboard…

作者头像 李华