news 2026/7/7 19:44:41

探索Transform的中不同参数的用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索Transform的中不同参数的用法

1问题

1,ToTensor:将PIL Image或numpy.ndarray转换为torch.FloatTensor,并将其归一化到[0.0, 1.0]范围内。

2,Normalize:将PIL Image或numpy.ndarray转换为torch.FloatTensor,并将其归一化到[-1.0, 1.0]范围内。

3,Resize:调整图像大小。

4,CenterCrop:将给定的PIL Image进行中心切割,得到给定的size。

5,Compose:将多个变换组合在一起。

6,RandomCrop:从图像中随机裁剪出一定大小的区域。

2 方法

数据转换:transforms.ToTensor()

ToTensor是transforms模块中的一个函数,用于将PIL Image或numpy.ndarray类型的数据转换为torch.FloatTensor类型。在Pytorch中,图像数据通常以PIL Image的形式存在,而模型训练时需要的数据格式为torch.FloatTensor

from torchvision import transforms # 创建一个ToTensor实例


to_tensor = transforms.ToTensor() # 对图像进行ToTensor转换
image = Image.open('example.jpg')
image_tensor = to_tensor(image)

数据归一化:transforms.Normalize()

Normalize是transforms模块中的一个函数,用于将PIL Image或numpy.ndarray类型的数据进行归一化处理。归一化是将数据缩放到一个特定的范围,通常是[0, 1]或[-1, 1]。在图像处理中,归一化可以使得不同尺度的图像具有相同的尺度,从而方便模型的训练和预测。

from torchvision import transforms # 创建一个Normalize实例,指定均值和标准差


normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 对图像进行Normalize转换
image = Image.open('example.jpg')
normalized_image = normalize(image)

调整图像大小transforms.Resize()

Resize是transforms模块中的一个函数,用于调整图像的大小。在图像处理中,我们需要将不同大小的图像输入到模型中进行训练和预测

from torchvision import transforms # 创建一个Resize实例,指定目标尺寸


resize = transforms.Resize((224, 224)) # 对图像进行Resize转换
image = Image.open('example.jpg')
resized_image = resize(image)

从图像中心裁剪出指定大小的区域transforms.CenterCrop()

CenterCrop是transforms模块中的一个函数,用于从图像中心裁剪出指定大小的区域。在图像处理中,我们需要将不同大小的图像输入到模型中进行训练和预测。因此,我们需要对图像进行大小调整,使其具有相同的尺寸。

from torchvision import transforms # 创建一个CenterCrop实例,指定目标尺寸


center_crop = transforms.CenterCrop((224, 224)) # 对图像进行CenterCrop转换
image=Image.open('example.jpg') center_cropped_image = center_crop(image)

对图像进行多种不同的操作:transforms.Compose()

Compose是transforms模块中的一个函数,用于将多个变换组合在一起。在图像处理中,我们可能需要对图像进行多种不同的操作,例如缩放、裁剪、旋转等

from torchvision import transforms # 创建一个Compose实例,指定多个变换操作


compose=transforms.Compose([ transforms.Resize((224, 224)),transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # 对图像进行Compose转换 image = Image.open('example.jpg')
composed_image = compose(image)

从图像中随机裁剪出指定大小的区域transforms.RandomCrop()

RandomCrop是transforms模块中的一个函数,用于从图像中随机裁剪出指定大小的区域

from torchvision import transforms # 创建一个RandomCrop实例,指定目标尺寸


random_crop = transforms.RandomCrop((224, 224)) # 对图像进行RandomCrop转换
image=Image.open('example.jpg') random_cropped_image = random_crop(image)

3结语

torchvision.trantransform是PyTorch中用于数据预处理的模块,它提供了多种常用的数据转换操作,如缩放、裁剪、旋转等。在图像处理中,我们通常需要将不同大小的图像输入到模型中进行训练和预测。因此,我们需要对图像进行大小调整,使其具有相同的尺寸。通过使用这些函数,我们可以方便地对图像进行预处理,使其符合模型的要求。例如,在ImageNet数据集上训练卷积神经网络时,我们需要将所有图像缩放到指定的大小(224x224),并进行归一化处理。这时,我们可以使用Compose函数将这些操作组合在一起,一次性完成所有的预处理操作。

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

【课程设计/毕业设计】基于springboot国风彩妆销售网站设计基于springboot国风彩妆网站【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/7 10:38:45

18、雾计算环境中的强化学习资源分配

雾计算环境中的强化学习资源分配 1. 雾计算任务分类与特性 在雾计算系统中,根据任务特性,可将任务分为轻、中、重三类,以便进一步分析任务大小对系统性能的影响。同时,任务(即输入数据)的可分割性也在相关研究中有所探讨。 1.1 任务分类 轻、中、重任务 :基于任务的…

作者头像 李华
网站建设 2026/7/7 8:33:21

Linux动态壁纸完全指南:从安装到高级配置的实用技巧

Linux动态壁纸完全指南:从安装到高级配置的实用技巧 【免费下载链接】linux-wallpaperengine Wallpaper Engine backgrounds for Linux! 项目地址: https://gitcode.com/gh_mirrors/li/linux-wallpaperengine 还在羡慕Windows用户的炫酷动态桌面吗&#xff1…

作者头像 李华
网站建设 2026/7/7 8:28:51

解锁FMU仿真新维度:用FMPy重塑Python系统建模体验

解锁FMU仿真新维度:用FMPy重塑Python系统建模体验 【免费下载链接】FMPy Simulate Functional Mockup Units (FMUs) in Python 项目地址: https://gitcode.com/gh_mirrors/fm/FMPy 在当今复杂系统建模领域,工程师和研究人员面临着模型兼容性差、仿…

作者头像 李华
网站建设 2026/7/6 23:15:57

外卖订单数据自动化采集解决方案:waimai-crawler详解

外卖订单数据自动化采集解决方案:waimai-crawler详解 【免费下载链接】waimai-crawler 外卖爬虫,定时自动抓取三大外卖平台上商家订单,平台目前包括:美团,饿了么,百度外卖 项目地址: https://gitcode.com…

作者头像 李华
网站建设 2026/7/7 12:11:30

OpenWrt终极磁盘管理指南:luci-app-diskman完整使用教程

OpenWrt终极磁盘管理指南:luci-app-diskman完整使用教程 【免费下载链接】luci-app-diskman Disk Manager for LuCI 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-diskman 想要在OpenWrt系统中轻松管理磁盘和分区吗?luci-app-diskman作…

作者头像 李华