Mindspore开发(二)开发流程:1、数据处理
【摘要】 一. 数据处理具体步骤• 数据是深度学习的基础,高质量的数据输入会在整个深度神经网络中起到积极作用。 • 在训练开始之前,由于数据量有限,或者为了得到更好的结果,通常需要进行数据处理与数据增强, 以获得能使网络受益的数据输入。 • 数据经过处理和增强,便可以被更加方便快捷的进行操作,可以说就像像流经管道的水一样源源不断的流向训练系统。二. 数据处理操作1. 数据集加载Dataset stru...
一. 数据处理具体步骤
• 数据是深度学习的基础,高质量的数据输入会在整个深度神经网络中起到积极作用。
• 在训练开始之前,由于数据量有限,或者为了得到更好的结果,通常需要进行数据处理与数据增强,
以获得能使网络受益的数据输入。
• 数据经过处理和增强,便可以被更加方便快捷的进行操作,可以说就像像流经管道的水一样源源不断的流向训练系统。
二. 数据处理操作
1. 数据集加载
Dataset structure
|
使用简介
|
ImageFolderDatasetV2
|
# 读取图目录名作为类别标签,每个目录下的图片为同一类
# Example: cat/image1.jpg, dog/image2.jpg
ds = ds.ImageFolderDatasetV2(DATA_DIR, class_indexing={"cat":0,"dog":1})
|
MnistDataset
|
ds = ms.dataset.MnistDataset(DATA_DIR) |
Cifar10Dataset | ds = ms.dataset.Cifar10Dataset(DATA_DIR) |
CocoDataset | ds = ds.CocoDataset(DATA_DIR, annotation_file=annotation_file, task='Detection') |
MindRecord | ds = ds.MindDataset(FILE_NAME) |
GeneratorDataset | ds = ds.GeneratorDataset(GENERATOR, [“image", “label"]) |
TextFileDataset |
dataset_files = ["/path/to/1", "/path/to/2"] # contains 1 or multiple text files
ds = ds.TextFileDataset(dataset_files=dataset_files)
|
GraphData |
ds = ds.GraphData(DATA_DIR, 2)
nodes = ds.get_all_edges(0)
|
2. 数据处理与增强
• 数据处理
> 以图片为例:将原始图片进行裁剪、大小缩放、归一化、 格式转换等,以便深度学习模型能够使用。
• 数据增强
> 一种创造 “新”数据的方法,从有限数据中生成“更多数 据”,防止过拟合现象
• 格式转换
> MindSpore支持channel first
operations = [
CV.Resize(resize),
CV.Rescale(rescale, shift),
CV.HWC2CHW()
]
ds = ds.map(input_columns=["image"],
operations=operations)
ds = ds.shuffle(buffer_size=buffer_size).batch(batch_size,
drop_remainder=True)
• 常用操作
(1)shuffle
shuffle操作用来打乱数据集中的数据排序。 越大的buffer_size意味着越高的混洗度,但也意味着会花费更多的时间和计算资源。
(2)batch
在训练时,数据可能需要分批batch处理。
(3)repeat
可以通过repeat的方式增加训练数据量,通常放在batch操作之后。
(4)zip
将多个数据集合并成一个。若两个数据集的列的名字相同,则不能合并。若两个数据集的行数不同,合并后的行数以较小的为准。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)