Dataset介绍
数据集(Dataset)是一组数据的集合,这些数据通常被用来训练、测试或评估模型。它可以包含结构化数据(如表格数据)或非结构化数据(如文本、图像、音频或视频文件)。数据集中的数据可以是原始的,也可以是经过预处理的,包括清洗、转换和选择等步骤。其目的是为机器学习算法提供输入,以便算法能够学习数据的内在规律和模式,并据此进行预测、分类、聚类或其他类型的分析。
MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。其中Dataset是Pipeline的起始,mindspore.dataset
提供了内置的文本、图像、音频等数据集加载接口,并提供了自定义数据集加载接口。
关于数据集
类型
1.监督学习数据集
2.非监督学习数据集
3.半监督学习数据集
4.强化学习数据集
迭代
可以用create_tuple_iterator或create_dict_iterator接口创建数据迭代器,迭代访问数据,然后送入神经网络中进行训练。
访问的数据类型默认为Tensor
;若设置output_numpy=True
,访问的数据类型为Numpy
。
自定义数据集
mindspore.dataset
模块为 MindSpore 框架提供了高效的数据加载和处理能力,包括支持多种常用公开数据集和标准格式数据集的直接加载。然而,当遇到 MindSpore 尚未直接支持的数据集时,我们可以通过自定义数据加载类或自定义数据集生成函数,并利用 GeneratorDataset
接口来加载这些数据集。而GeneratorDataset
支持通过可随机访问数据集对象、可迭代数据集对象和生成器(generator)构造自定义数据集。