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

【PyTorch学习笔记 - 03】 Transforms

数据并不总是以训练机器学习算法所需的最终处理形式出现。我们使用变换对数据进行一些处理,使其适合训练。

图像的背后依然是数字,是有一堆数字以特定的规律组合而成。深度学习模型的训练需要输入不是一张张的图片,而是每张图片背后的数字组合。因此,需要对对象进行转换。因为直接将图片输入模型是不可行的。解决这个问题很好的方式就是pytorch的这个函数,tansform。

所有的TorchVision datasets都有两个参数——transform用于修改特征,target_transform用于修改标签——这两个参数接受包含转换逻辑的可调用对象。torchvision.transforms模块提供了一些常用的现成转换方法。

FashionMNIST数据集的特征采用PIL图像格式,标签为整数。对于训练,我们需要将特征转换为归一化张量,将标签转换为独热编码张量。为实现这些转换,我们使用ToTensorLambda

import torch
from torchvision import datasets
from torchvision.transforms import ToTensor, Lambdads = datasets.FashionMNIST(root="data",train=True,download=True,transform=ToTensor(),target_transform=Lambda(lambda y: torch.zeros(10, dtype=torch.float).scatter_(0, torch.tensor(y), value=1))
)

ToTensor()

ToTensor将PIL图像或NumPy ndarray 转换为 FloatTensor,并将图像的像素强度值缩放到范围 [0., 1.]。

Lambda Transforms

Lambda变换应用任何用户定义的Lambda函数。在这里,我们定义一个函数,将整数转换为独热编码张量。它首先创建一个大小为10的零张量(我们数据集中标签的数量),然后调用scatter_,该函数在标签 y 给出的索引上分配一个value=1

target_transform = Lambda(lambda y: torch.zeros(10, dtype=torch.float).scatter_(dim=0, index=torch.tensor(y), value=1))
http://www.xdnf.cn/news/17653.html

相关文章:

  • 串口超时参数深度解析:ReadTotalTimeoutMultiplier、ReadIntervalTimeout等
  • Day24|学习前端CSS
  • scikit-learn/sklearn学习|岭回归python代码解读
  • 数据分析小白训练营:基于python编程语言的Numpy库介绍(第三方库)(上篇)
  • vue-cli搭建项目脚手架
  • -bash: ll: 未找到命令
  • RabbitMQ-知识技能图谱(总结篇)
  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • Windows server服务器上部署python项目域名访问(超详细教程)
  • Web攻防-业务逻辑篇Fuzz技术数据并发条件竞争JS挖掘参数盲猜Turbo插件SRC
  • pyside控件_左右范围滑动控件
  • Kubernetes 资源管理全解析:从基础到企业级实践
  • 初识神经网络04——构建神经网络2
  • 【基于DesignStart的M3 SoC】
  • 当“超级高速“遇见“智能大脑“:5G-A×AI如何重塑万物智联时代
  • 告别数据孤岛!React 路由 3 种传参方法全解析
  • Qt之QMetaEnum的简单使用(含源码和注释)
  • 标准IO操作
  • Python 常用的正则表达式
  • Redis序列化配置类
  • vue2+elementUI实现园型动态步骤条小组件,带缩放功能
  • 【4】Transformers快速入门:自然语言模型 vs 统计语言模型
  • 【无标题】centos 配置阿里云的yum源
  • vue文件或文件夹拖拽上传
  • WPS文字和Word:不只是表格,段落也可以排序
  • 校园快递小程序(腾讯地图API、二维码识别、Echarts图形化分析)
  • 【Dify学习笔记】:Dify搭建图片文件数据分析助手
  • Kimi K2 架构深度解析:万亿MoE模型的效率革命与智能体突破
  • Linux文件系统:从虚拟接口到物理实现的架构解析
  • 【C++】5. 内存管理