- 数据预处理步骤之一——数据集
-
数据集加载
-
from download import download url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/" \ "notebook/datasets/MNIST_Data.zip" path = download(url, "./", kind="zip", replace=True)
-
数据集常见操作
- 数据集加载后,一般以迭代方式获取数据
- 访问的数据类型默认为
Tensor
;若设置output_numpy=True
,访问的数w据类型为Numpy
。 - shuffle
- 数据集随机
shuffle
可以消除数据排列造成的分布不均问题。这是一个打乱顺序的操作 - train_dataset = train_dataset.shuffle(buffer_size=64)
visualize(train_dataset)
- 数据集随机
- map
map
操作是数据预处理的关键操作,可以针对数据集指定列(column)添加数据变换(Transforms),将数据变换应用于该列数据的每个元素,并返回包含变换后元素的新数据集。- map算是一个对列数据整体操作的一个函数(算子)
- batch
- 可以看作把数据聚集拆分成固定大小的块的操作
-
-
自定义数据集
- 可随机访问数据集
- 是实现了
__getitem__
和__len__
方法的数据集。表示可以通过索引/键直接访问对应位置的数据样本。 - 例如,当使用
dataset[idx]
访问这样的数据集时,可以读取dataset内容中第idx个样本或标签。
- 是实现了
- 可迭代的数据集
- 是实现了
__iter__
和__next__
方法的数据集,表示可以通过迭代的方式逐步获取数据样本。这种类型的数据集特别适用于随机访问成本太高或者不可行的情况。 - 例如,当使用
iter(dataset)
的形式访问数据集时,可以读取从数据库、远程服务器返回的数据流。
- 是实现了
- 生成器
- 生成器也属于可迭代的数据集类型,其直接依赖Python的生成器类型
generator
返回数据,直至生成器抛出StopIteration
异常。
- 生成器也属于可迭代的数据集类型,其直接依赖Python的生成器类型
- 可随机访问数据集
-
《昇思25天学习打卡营第3天|数据集的基本操作》
于 2024-06-28 22:14:17 首次发布