【学习笔记】昇思25天学习打卡(D03)初学04-数据集Dataset.ipynb

这次的内容围绕数据集展开。可以用来参考的文档有:
https://www.mindspore.cn/docs/zh-CN/r2.3/design/data_engine.html
https://www.mindspore.cn/tutorials/zh-CN/r2.3/beginner/dataset.html
https://www.mindspore.cn/tutorials/zh-CN/r2.3/beginner/transforms.html

主要内容如下:

1. 概述

MindSpore提供基于Pipeline的数据引擎,通过Dataset和Transforms实现高效的数据预处理。Dataset是Pipeline的起始,用于加载原始数据。

2. 数据集加载

  • 使用MnistDataset加载MNIST数据集
  • 数据集加载接口仅支持解压后的数据文件

3. 数据集迭代

  • 使用create_tuple_iteratorcreate_dict_iterator创建数据迭代器
  • 可设置output_numpy=True输出NumPy数组

4. 数据集常用操作

4.1 shuffle

  • 消除数据排列造成的分布不均问题
  • 可在加载时设置shuffle=True或使用dataset.shuffle()

4.2 map

  • 针对指定列添加数据变换
  • 例如:使用vision.Rescale对图像进行缩放

4.3 batch

  • 将数据集打包为固定大小的batch
  • 使用dataset.batch(batch_size=32)设置batch大小

5. 自定义数据集

使用GeneratorDataset接口实现自定义数据集加载,支持三种方式:

5.1 可随机访问数据集

  • 实现__getitem____len__方法
  • 可通过索引直接访问数据样本

5.2 可迭代数据集

  • 实现__iter____next__方法
  • 适用于随机访问成本高的情况

5.3 生成器

  • 直接使用Python的generator类型
  • 需要用lambda包装以生成多个实例

通过这些方法,可以灵活地加载各种类型的自定义数据集。

教程来自:
https://gitee.com/mindspore/docs/blob/r2.3/tutorials/source_zh_cn/beginner/dataset.ipynb

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值