news 2026/5/12 2:18:33

【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/9 11:36:14

标题:MiMo-V2-Flash杀疯了:150 tokens/s,小米开源AI王炸

就在刚刚,小米大模型Core团队直接甩出王炸。MiMo-V2-Flash,一个名字里写着"快"的开源模型,却在性能上叫板了当前最强的几个对手。 当速度遇上性能,会发生什么? 在AI圈,一直有个"鱼和熊掌&qu…

作者头像 李华
网站建设 2026/5/11 9:15:42

Lemonade:本地大语言模型服务的终极指南

在当今人工智能快速发展的时代,本地部署大语言模型已成为开发者和研究者的重要需求。Lemonade项目正是为此而生,它提供了一个功能强大的本地LLM服务器,特别支持NPU硬件加速,让您在个人电脑上就能高效运行各种语言模型。 【免费下载…

作者头像 李华
网站建设 2026/5/9 17:29:36

思维链技术:让AI推理过程从黑箱变透明的革命性突破

思维链技术:让AI推理过程从黑箱变透明的革命性突破 【免费下载链接】fabric fabric 是个很实用的框架。它包含多种功能,像内容总结,能把长文提炼成简洁的 Markdown 格式;还有分析辩论、识别工作故事、解释数学概念等。源项目地址&…

作者头像 李华
网站建设 2026/5/10 7:27:26

告别等待!3步调优Monaco Editor代码提示响应速度

告别等待!3步调优Monaco Editor代码提示响应速度 【免费下载链接】monaco-editor A browser based code editor 项目地址: https://gitcode.com/gh_mirrors/mo/monaco-editor 还在为输入代码时提示框迟迟不出现而烦恼吗?🤔 今天我们就…

作者头像 李华
网站建设 2026/5/10 18:33:51

优秀学员统计 100分(python、java、c++、js、c)

题目 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。请你实现代码帮助统计…

作者头像 李华
网站建设 2026/5/9 11:36:17

两数之和 暴力解法

在 LeetCode 的入门题目中,“两数之和”(Two Sum)绝对是绕不开的经典。这道题看似简单,却能帮我们夯实数组遍历、条件判断等基础编程能力。今天就来聊聊这道题的暴力解法思路,以及完整的 C 实现。题目回顾给定一个整数…

作者头像 李华