transforms机制与数据标准化

简介: transforms机制与数据标准化

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。

图像预处理 transforms

transforms运行机制

torchvision:计算机视觉工具包

  • torchvision.transforms

    常用的图像预处理方法,例如:

    • 数据中心化
    • 数据标准化
    • 缩放
    • 裁剪
    • 旋转
    • 翻转
    • 填充
    • 噪声添加
    • 灰度变换
    • 线性变换
    • 仿射变换
    • 亮度、饱和度及对比度变换

  • torchvision.datasets

    常用数据集的 dataset 实现, MNIST CIFAR 10 ImageNet 等

  • torchvision.model

    常用的模型预训练, AlexNet VGG ResNet GoogLeNet 等

transforms运行的机制

数据标准化transforms.normalize

transforms.Normalize

标准化的含义是将数据的均值变为0,标准差变为1。

功能:逐channel 的对图像进行标准化

output = (input - mean) / std

  • mean :各通道的均值
  • std :各通道的标准差
  • inplace :是否原地操作

对数据进行标准化后可以加快模型的收敛。通过比较不同的实验结果可知,一个好的数据分布更加利于模型的整体收敛。

目录
相关文章
|
3月前
|
人工智能
【Mixup】探索数据增强技术:深入了解Mixup操作
【Mixup】探索数据增强技术:深入了解Mixup操作
435 0
|
3月前
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv5改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
YOLOv5改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
546 1
|
1月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】ECA(Efficient Channel Attention):高效通道注意 模块,降低参数量
YOLO目标检测专栏聚焦模型创新与实战,介绍了一种高效通道注意力模块(ECA),用于提升CNN性能。ECA仅用少量参数实现显著性能增益,避免了维度缩减,通过1D卷积进行局部跨通道交互。代码实现展示了一个ECA层的结构,该层在多种任务中展现优秀泛化能力,同时保持低模型复杂性。论文和代码链接分别指向arXiv与GitHub。更多详情可查阅CSDN博主shangyanaf的相关文章。
|
2月前
|
存储 关系型数据库 数据库
数据的反规范化架构
【6月更文挑战第13天】 本文介绍数据库设计包括规范化和反规范化。优化设计和应用规范化规则确保高效且准确的数据存储。
52 2
数据的反规范化架构
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【单点知识】基于实例讲解PyTorch中的transforms类
【单点知识】基于实例讲解PyTorch中的transforms类
59 0
|
3月前
|
机器学习/深度学习 算法 数据可视化
LightCLIP来啦 | 其实可以使用多级交互范式来训练轻量级CLIP模型
LightCLIP来啦 | 其实可以使用多级交互范式来训练轻量级CLIP模型
228 2
|
物联网 PyTorch 算法框架/工具
数据增强之图像变换与自定义transforms
数据增强之图像变换与自定义transforms
92 0
|
3月前
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv8改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
YOLOv8改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
469 0
|
PyTorch 算法框架/工具
使用pytorch相关库进行标准化
以上代码中,我们首先将输入数据转换为张量格式,然后使用transforms.Normalize对数据进行标准化处理,其中mean和std参数分别表示每个通道的均值和标准差,这里我们使用x_data的整体均值和标准差来进行标准化。 需要注意的是,这种标准化方法仅适用于单通道输入数据,如果输入数据是多通道(如RGB图像),则需要按通道计算均值和标准差,并将其传递给transforms.Normalize函数。
310 0
|
PyTorch 算法框架/工具
如何将x_data和y_data利用torch转换成小批量数据,并要求打乱数据,以及将数据标准化或者归一化,如何处理?
以上代码中,在定义预处理操作transform时,只在Normalize函数的第一个参数中传入x_data的均值和标准差,而在第二个参数中传入空元组,表示不对y_data进行标准化。 接着,将标准化后的x_data和原始的y_data转换为张量格式,并将它们合并为一个TensorDataset对象。最后,定义dataloader对象,设置batch_size和shuffle参数,并使用上述数据集对象作为输入数据。
301 0