昇思MindSpore学习总结四——数据变换Transforms

1、数据变换

        数据变换,字面意思,就是将我们在实际项目中获取的数据进行相应的操作,方便后期处理。数据变换的方法很多,例如归一化、标准化等。

        为什么要进行数据变换?(1)我们采集到的数据,可能存在机器学习无法识别的格式,尺寸等。在神经网络中,大部分的模型对输入图像格式有相应的要求。(2)采集到的数据内容太多,也可以理解为占用内存大,在处理的过程中会影响运行的效率。(3)采集到的数据包含其他影响元素,比如噪音等。

mindspore.dataset.transforms

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

2、Transforms

        MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过map方法传入,实现对指定数据列的处理。

  mindspore.dataset提供了面向图像、文本、音频等不同数据类型的Transforms,同时也支持使用Lambda函数。

3、安装相应库

常用的模块导入方法。

import numpy as np
from PIL import Image
from download import download
from mindspore.dataset import transforms, vision, text
from mindspore.dataset import GeneratorDataset, MnistDataset

4、Common Transform

mindspore.dataset.transforms.Compose(transforms)

将多个数据增强操作组合使用。

【参数】

  • transforms (list) - 一个数据增强的列表。

以Mnist数据集为例。

image, label = next(train_dataset.create_tuple_iterator())
#next(),它通过调用其next ()方法从迭代器中检索下一个项目。 
#如果给定了默认值,则在迭代器耗尽返回此默认值,否则会引发StopIteration。 该方法可用于从文件对象读取下一个输入行。
# next(iterator[,default])
# 参数
# iterator − 要读取行的文件对象
# default − 如果迭代器耗尽则返回此默认值。 如果没有给出此默认值,则抛出 StopIteration 异常
print(image.shape)

【运行结果】  


                
2.1 实验介绍 2.1.1 关于本实验 本实验实现的是深度学习领域的经典案例——MNIST手写体字符识别实验。整体流程如下: 处理需要的数据集,这里使用了MNIST数据集。 定义一个网络,这里自己搭建了简单的全连接网络。 定义损失函数和优化器。 加载数据集并进行训练,训练完成后,利用测试集进行评估。 2.2 实验准备 在动手进行实践之前,确保你已经正确安装了MindSpore。如果没有,可以通过MindSpore官网安装页面:https://www.mindspore.cn/install/,将MindSpore安装在你的电脑当中。 同时希望你拥有Python编程基础和概率、矩阵等基础数学知识。 推荐环境: 版本:MindSpore 1.7 编程语言:Python 3.7 2.3 实验详细设计与实现 2.3.1 数据准备 我们示例中用到的MNIST数据集是由10类28*28的灰度图片组成,训练数据集包含60000张图片,测试数据集包含10000张图片。 MNIST数据集下载页面:http://yann.lecun.com/exdb/mnist/。页面提供4个数据集下载链接,其中前2个文件是测试数据,后2个文件是训练数据。 将数据集下载并解压到本地路径下,这里将数据集解压分别存放到工作区的./MNIST /train、./MNIST /test路径下。 目录结构如下: └─MNIST ├─ test │ t10k-images.idx3-ubyte │ t10k-labels.idx1-ubyte │ └─ train train-images.idx3-ubyte train-labels.idx1-ubyte 2.3.2 实验步骤 步骤 1导入Python
最新发布
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值