【MindSpore第七期两日集群营】体验MindSpore数据增强API统一

举报
张辉 发表于 2022/09/24 18:19:27 2022/09/24
【摘要】 MindSpore第七期两日集群营

为什么要做数据增强?

Cifar数据集有60000张图片,其中50000张训练图片,10000张测试图片,如果用这样的训练集来训练参数较多的网络时,就容易出现过拟合的现象。所以,我们要想办法对原有的训练集做数据增强,目的是提高训练图片的丰富度,减少过拟合,提高网络的泛化性。

这次我们用本地的WSL环境做实验。

打开wsl ubuntu 18.04。

下载cifar10数据集:

mkdir ~/dataset

cd ~/dataset

wget http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz

cke_2508.png

解压:

tar -zxvf cifar-10-binary.tar.gz

cke_3375.png

先看一下数据集的目录结构,需要安装tree软件:

sudo apt install tree

cke_4549.png

查看下具体结构:

tree cifar-10-batches-bin/

cke_5481.png

我们已经在WSL上安装好了MindSpore 1.8的CUDA版本(可以到  https://www.mindspore.cn/install 根据指南进行安装)


先验证下MindSpore是否安装正常:

python

import mindspore

import mindspore.dataset as ds

cke_7554.png

好像没问题,数据集相关包也导入正常。

编辑以下文件:

vi load_cifar.py

import cv2
import mindspore.dataset as ds
import mindspore.dataset.vision as vision

# Pad到(36, 36),随机Crop到(32, 32)
random_crop = vision.RandomCrop((32, 32), (4, 4, 4, 4))
# Resize到(128, 128)
resize = vision.Resize((512, 512))
# 随机翻转
random_horizontal = vision.RandomHorizontalFlip()
# 随机调整颜色
random_color = vision.RandomColorAdjust(brightness=(0.8, 1), contrast=(0.8, 1), saturation=(0.3, 1))

# 定义数据流水线
dataset_dir = "cifar-10-batches-bin"
dataloader = ds.Cifar10Dataset(dataset_dir)
dataloader = dataloader.map([random_crop, resize, random_horizontal, random_color], input_columns="image")

# 启动数据预处理
count = 0
for data in dataloader.create_dict_iterator(output_numpy=True):
    image = data["image"]
    cv2.imshow("win", image)
    cv2.waitKey()
    count += 1
    if count > 5:
      break

执行下看看:

python load_cifar.py

cke_9833.png

报错:没有装opencv。

那就装一下:

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

cke_11007.png

再重新执行:

执行:

cke_11836.png

cke_12215.png

cke_12689.png

cke_13472.png

cke_15694.png

cke_14003.png

cke_14800.png

好像显示了一些错,但是python脚本中前6张图片也显示出来了。从Python的代码来看,它对原图片进行了随机翻转,随机变色,随机Crop。。。而只是用了一句dataloader的map方法就搞定了。。。

是不是有点太方便了。。。真的不需要人工干预一下吗?

(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。