当前位置: 首页 > news >正文

【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()

http://www.cnnetsun.cn/news/118768.html

相关文章:

  • EmotiVoice支持语音情感风格迁移学习
  • 定期第三方安全审计:EmotiVoice质量保证
  • 不同职业人群对EmotiVoice的应用需求分析
  • 手机系统预装应用包彻底删除
  • EmotiVoice能否实现多人对话同步生成?技术可行性评估
  • FusionCompute 8.0 实验环境搭建:完整资源获取与部署指南
  • AI主播直播间搭建:EmotiVoice语音部分实现
  • 静态代码扫描服务 100分(python、java、c++、js、c
  • Directus周起始日难题:3步从周日切换到周一的技术解决方案
  • 33、网络管理与UUCP使用指南
  • C++核心语法复盘:数据结构编程的底层基石
  • 43、Exim邮件服务器配置与管理全解析
  • 48、互联网新闻服务器INN与NNTP的使用与配置指南
  • 我发现动态时间戳对齐破解跨境急诊预警延迟
  • 面试官:如何提升AIGC生成的可控性?
  • 如何在5分钟内用Mermaid语法轻松生成专业流程图?
  • 大型语言模型服务工具:让AI开发像喝柠檬水一样清爽 [特殊字符]
  • 如何快速掌握Mermaid在线编辑器:面向技术文档编写者的完整教程
  • WGPU性能调优实战:从卡顿到流畅的终极指南
  • 8、iOS 开发中的音频与视频处理
  • 18、构建社交增强现实应用:从坐标存储到社交上下文添加
  • HFT-Orderbook:高性能交易订单簿的终极解决方案
  • veScale:PyTorch原生大语言模型训练框架完整指南
  • Easy Effects终极音效配置指南:50+专业预设深度解析
  • 嵌入式Web服务器实战:STM32Cube与Mongoose完美融合
  • EmotiVoice语音抗噪能力测试:嘈杂环境可用性
  • 拒绝制造虚假情感依赖:产品设计准则
  • 推荐12个中英文降AIGC率工具,亲测有效!(含免费)
  • Taskflow:现代C++并行编程框架深度解析
  • Strapi无头CMS架构深度解析与现代化应用实践