1、数据变换
数据变换,字面意思,就是将我们在实际项目中获取的数据进行相应的操作,方便后期处理。数据变换的方法很多,例如归一化、标准化等。
为什么要进行数据变换?(1)我们采集到的数据,可能存在机器学习无法识别的格式,尺寸等。在神经网络中,大部分的模型对输入图像格式有相应的要求。(2)采集到的数据内容太多,也可以理解为占用内存大,在处理的过程中会影响运行的效率。(3)采集到的数据包含其他影响元素,比如噪音等。
此模块用于通用数据增强,其中一部分增强操作是用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)
【运行结果】
![]()

最低0.47元/天 解锁文章
1514

被折叠的 条评论
为什么被折叠?



