【昇思初学入门】第三天打卡

发布于:2024-06-22 ⋅ 阅读:(120) ⋅ 点赞:(0)

数据集Dataset

心得体会

  1. 昇思提供了丰富的数据集,文本、图像、音频等都有内置
  2. MindSpore的Pipeline设计和并行处理能力使得数据预处理更加高效
  3. 可通过GeneratorDataset接口实现自定义方式的数据集加载
  4. 可迭代的数据集,可以通过迭代的方式逐步获取数据样本,生成器generator也属于可迭代的数据集类型

笔记

  1. 数据获取
import numpy as np
from mindspore.dataset import vision
from mindspore.dataset import MnistDataset, GeneratorDataset
import matplotlib.pyplot as plt
# Download data from open datasets
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)

这里找数据集:https://www.mindspore.cn/docs/zh-CN/r2.3.0rc2/api_python/mindspore.dataset.html

2.数据迭代

# shuffle 消除数据排列造成的分布不均问题,及打乱数据顺序
train_dataset = MnistDataset("MNIST_Data/train", shuffle=True)
def visualize(dataset):
    figure = plt.figure(figsize=(4, 4))
    cols, rows = 3, 3

    plt.subplots_adjust(wspace=0.5, hspace=0.5)

    for idx, (image, label) in enumerate(dataset.create_tuple_iterator()):
        figure.add_subplot(rows, cols, idx + 1)
        plt.title(int(label))
        plt.axis("off")
        plt.imshow(image.asnumpy().squeeze(), cmap="gray")
        if idx == cols * rows - 1:
            break
    plt.show()

加载的数据显示
3. 数据预处理

#图像统一除以255,数据类型由uint8转为了float32
train_dataset = train_dataset.map(vision.Rescale(1.0 / 255.0, 0), input_columns='image')

网站公告

今日签到

点亮在社区的每一天
去签到