首页 > 其他分享 >《昇思25天学习打卡营第4天 | 数据变换 Transforms》

《昇思25天学习打卡营第4天 | 数据变换 Transforms》

时间:2024-06-30 17:30:35浏览次数:22  
标签:25 词表 dataset transforms 打卡 数据 mindspore Transforms

学习内容:MindSpore提供不同种类的数据变换

通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过map方法传入,实现对指定数据列的处理。

mindspore.dataset提供了面向图像、文本、音频等不同数据类型的Transforms,同时也支持使用Lambda函数。下面分别对其进行介绍。

1.Common Transforms

mindspore.dataset.transforms模块支持一系列通用Transforms,用于通用数据增强,其中一部分增强操作是用C++实现的,具有较好的高性能,另一部分是基于Python实现,使用了NumPy模块作为支持。

在API示例中,常用的模块导入方法如下:

  import mindspore.dataset as ds
  import mindspore.dataset.transforms as transforms
mindspore.dataset.transforms.Compose将多个数据增强操作组合使用。
mindspore.dataset.transforms.Concatenate在输入数据的某一个轴上进行数组拼接,目前仅支持拼接形状为1D的数组。
mindspore.dataset.transforms.Duplicate将输入的数据列复制得到新的数据列,每次仅可以输入1个数据列进行复制。
mindspore.dataset.transforms.Mask用给条件判断输入Tensor的内容,并返回一个掩码Tensor。
mindspore.dataset.transforms.Fill将Tensor的所有元素都赋值为指定的值。
mindspore.dataset.transforms.Onehot对输入标签进行OneHot编码。
mindspore.dataset.transforms.PadEnd对输入Tensor进行填充,要求 pad_shape 与输入Tensor的维度保持一致。
mindspore.dataset.transforms.RandomApply指定一组数据增强处理及其被应用的概率,在运算时按概率随机应用其中的增强处理。
mindspore.dataset.transforms.RandomChoice从一组数据增强变换中随机选择一个进行应用。
mindspore.dataset.transforms.RandomOrder给一个数据增强的列表,随机打乱数据增强处理的顺序。
mindspore.dataset.transforms.Slice对输入进行切片。
mindspore.dataset.transforms.TypeCast将输入的Tensor转换为指定的数据类型。
mindspore.dataset.transforms.Unique对输入张量进行唯一运算,每次只支持对一个数据列进行变换。

这里我们以Compose为例,介绍其使用方式。
Compose接收一个数据增强操作序列,然后将其组合成单个数据增强操作。我们仍基于Mnist数据集呈现Transforms的应用效果。

# Download data from open datasets

url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/" \
      "notebook/datasets/MNIST_Data.zip"
path = download(url, "./", kind="zip", replace=True)
train_dataset = MnistDataset('MNIST_Data/train')

初始数据集中Imageshape
在这里插入图片描述
执行compose操作之后,Image.shape发生了改变

composed = transforms.Compose(
    [
        vision.Rescale(1.0 / 255.0, 0),
        vision.Normalize(mean=(0.1307,), std=(0.3081,)),
        vision.HWC2CHW()
    ]
)

在这里插入图片描述

2.Vision Transforms

mindspore.dataset.vision模块提供一系列针对图像数据的Transforms。在Mnist数据处理过程中,使用了Rescale、Normalize和HWC2CHW变换。下面对其进行详述。

Rescale变换用于调整图像像素值的大小

包括两个参数: rescale:缩放因子,shift:平移因子。
图像的每个像素将根据这两个参数进行调整,输出的像素值为

标签:25,词表,dataset,transforms,打卡,数据,mindspore,Transforms
From: https://blog.csdn.net/jc_56/article/details/140011960

相关文章

  • 某大型建设集团有限公司信息化技术方案(250页WORD)
    方案介绍:本信息化技术方案旨在构建一个集成度高、功能全面、操作简便的信息化系统,涵盖公司管理、业务运营、项目监控、数据分析等多个方面。通过引入云计算、大数据、物联网、人工智能等先进技术,实现资源的优化配置、流程的高效协同和数据的智能分析,从而提升公司的整体竞争力。......
  • 炸锅!张宇25强化咋样?听说书厚到爆炸?
    网上已经炸锅了!都说学不完了。但是,网上的几个主流观点,不完全对。观点1:基础30讲没变。强化36讲换汤不换药。知能行AI教练认为,不完全对。基础30讲书没变,但课变了。课时比24多出2倍。这是因为,强化的知识点移到了30讲里。这也导致,25版36讲更侧重解题和二级结论。观点2:......
  • 基于java+springboot+vue实现的游戏交易系统(文末源码+Lw)256
    摘  要在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对游戏交易信息管理的提升,也为了对游戏交易信息进行更好的维护,游戏交易系统的出现就变得水到渠成不可缺少。......
  • Leetcode 225. 用队列实现栈 && 232.用栈实现队列(jvav)
    225.用队列实现栈    题目:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。    本题可采用一个队列或两个队列完成,这里我使用一个队列实现栈,更加简洁,理解起来也不难。    栈的特点是先进后出,队......
  • 贪心推公式——AcWing 125. 耍杂技的牛
    贪心推公式定义贪心算法是一种在每一步选择中都采取在当前状态下最优的选择,希望通过局部的最优选择来得到全局最优解的算法策略。运用情况问题具有最优子结构,即一个问题的最优解包含其子问题的最优解。可以通过局部最优决策逐步推导到全局最优。问题的选择策略相对明确且易......
  • Kimichat使用案例025:用于学习教育场景的7种高级方法
    文章目录一、AI作为导师二、AI作为教练三、AI作为指导员四、AI作为团队成员五、AI作为模拟器六、AI作为学生七、AI作为工具一、AI作为导师你是一个乐观、鼓励学生的导师,通过解释观点和问学生问题来帮助学生理解概念。下面每一步只一步步的执行,不要全部执行。......
  • 【MindSpore学习打卡】初学教程-06网络构建-使用MindSpore构建神经网络模型
    在深度学习的世界中,构建和训练神经网络模型是核心任务之一。MindSpore作为一款开源的深度学习框架,提供了丰富的API和工具,使得构建神经网络模型变得更加简洁和高效。在这篇博客中,我们将以Mnist数据集分类为例,逐步讲解如何使用MindSpore定义模型、构建网络层并进行预测。通过......
  • Leetcode 力扣 125. 验证回文串 (抖音号:708231408)
    如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。示例1:输入:s="Aman,aplan,......
  • 【秋招刷题打卡】Day02-二分系列之-二分查找
    Day02-二分系列之-二分查找前言给大家推荐一下咱们的陪伴打卡小屋知识星球啦,详细介绍=>笔试刷题陪伴小屋-打卡赢价值丰厚奖励<=⏰小屋将在每日上午发放打卡题目,包括:一道该算法的模版题(主要以力扣,牛客,acwing等其他OJ网站的题目作为模版)一道该算法的应用题(主要以往......
  • STM32通过SPI硬件读写W25Q64
    文章目录1. W25Q642.硬件电路3. 软件/硬件波形对比4.STM32中的SPI外设5.代码实现5.1MyI2C.c5.2 MyI2C.h5.3W25Q64.c5.4 W25Q64.h5.5 W25Q64_Ins.h5.6main.c1. W25Q64对于SPI通信和W25Q64的详细解析可以看下面这篇文章STM32单片机SPI通信详解-CSDN......