- MindSpore深度学习高阶技术
- 陈雷编著
- 464字
- 2023-08-25 10:46:32
1.2.3 使用示例
1.基于概率的自动数据增强
本示例主要介绍如何实现基于概率的自动数据增强。
首先导入代码所需的相关模块,如代码1.14所示。
代码1.14 导入依赖模块

使用ImageFolderDataset接口加载图像数据集,执行图像解码与随机缩放裁剪和随机水平翻转操作,如代码1.15所示。
代码1.15 加载数据集并执行有监督数据增强

使用RandomSelectSubpolicy接口进行随机子策略选择自动数据增强,如代码1.16所示。
代码1.16 执行自动数据增强

2.基于反馈的自动数据增强
本示例主要介绍如何实现基于反馈的自动数据增强。
导入代码所需的相关模块,如代码1.17所示。
代码1.17 导入相关模块

为了便于展示,使用NumpySlicesDataset接口加载预先定义好的列表数据,然后定义一个Augment类,其中的preprocess函数为自定义的数据增强方法,而update函数为用于更新数据增强参数的回调函数,如代码1.18所示。
代码1.18 定义数据集与Augment类

定义同步等待函数与想要执行的数据增强操作,如代码1.19所示。
代码1.19 定义同步等待函数与数据增强操作

在每个步骤中通过同步更新函数传递反馈参数,并释放相应的阻塞,执行预先定义的数据增强操作,如代码1.20所示。
代码1.20 定义同步更新函数与数据增强操作

对应的输出结果如代码1.21所示。
代码1.21 代码输出结果
