已加入 昇思MindSpore社区 证明截图

在这里插入图片描述

安装 MindSpore 2.0 alpha 步骤

本文使用 Windows 平台,以下为的安装配置

  • 注意:硬件平台选择 CPU 之后 windows_x64 的选项才会出现
  • 根据自机环境安装的python 版本 3.8
  • 其他选项默认在这里插入图片描述
    安装 python 的教程可看 python最详细的安装与完全卸载

打开powershell 或 cmd

  • 依次输入
set MS_VERSION=2.0.0a0

遇到一个问题 pip版本不支持
在这里插入图片描述
升级即可,输入指令

pip install --upgrade pip

若该命令依旧报错,使用下面的语句(即使用管理员权限,换镜像)参考文章https://blog.csdn.net/qq_37758925/article/details/108607592

 python -m pip install --upgrade pip -i https://pypi.douban.com/simple

在这里插入图片描述

安装成功的截图

在这里插入图片描述

实现 数据变换Transforms 任务

数据变换Transforms教程

因为本人的电脑配置实在带不动,特别卡----故采取使用华为云的Modelarts 云环境平台来实现 该任务
在这里插入图片描述

  • 进入后 ModelArts平台 即可使用(登陆后就免费提供了服务器资源)—感谢华为!🤭
    在这里插入图片描述
    根据教程可知 MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过map方法传入,实现对指定数据列的处理。
    以下按照教程中的依次实现

Common Transforms 通用数据变换

此模块用于通用数据增强,其中一部分增强操作是用C++实现的,具有较好的高性能,另一部分是基于Python实现,使用了NumPy模块作为支持。

  • 教程 以Compose为例,介绍其使用方式

Compose
Compose接收一个数据增强操作序列,然后将其组合成单个数据增强操作。我们仍基于Mnist数据集呈现Transforms的应用效果。

除了Compose,通用转换还提供了其他类型的 如图
在这里插入图片描述

其他类型API详情可看:mindspore.dataset.transforms

  • 执行结果的截图
    在这里插入图片描述

Vision Transforms 针对图像数据的变换

此模块用于图像数据增强,其中有一部分增强是基于C++ OpenCV实现的,具有较好的性能,而另一部分是基于Python Pillow实现的。
mindspore.dataset.vision模块提供一系列针对图像数据的Transforms。在Mnist数据处理过程中,使用了Rescale、Normalize和HWC2CHW变换。

  • Rescale

Rescale变换用于调整图像像素值的大小,包括两个参数:
rescale:缩放因子。
shift:平移因子。

  • 执行结果的截图
    在这里插入图片描述

  • Normalize

Normalize变换用于对输入图像的归一化,包括三个参数:
mean:图像每个通道的均值。
std:图像每个通道的标准差。
is_hwc:输入图像格式为(height, width, channel)还是(channel, height, width)。

  • HWC2CWH

HWC2CWH变换用于转换图像格式。在不同的硬件设备中可能会对(height, width, channel)或(channel, height, width)两种不同格式有针对性优化。MindSpore设置HWC为默认图像格式,在有CWH格式需求时,可使用该变换进行处理。

  • Normalize和HWC2CWH执行结果的截图
    在这里插入图片描述

Text Transforms 文本数据的变换

此模块用于文本数据增强,包括 transforms 和 utils 两个子模块。
transforms 是一个高性能文本数据增强模块,支持常见的文本数据增强处理。
utils 提供了一些文本处理的工具方法。

  • BasicTokenizer

分词(Tokenize)操作是文本数据的基础处理方法,MindSpore提供多种不同的Tokenizer。这里我们选择基础的BasicTokenizer举例。配合map,将三段文本进行分词,可以看到处理后的数据成功分词。

  • Lookup

Lookup为词表映射变换,用来将Token转换为Index。在使用Lookup前,需要构造词表,一般可以加载已有的词表,或使用Vocab生成词表。这里我们选择使用Vocab.from_dataset方法从数据集中生成词表。

  • 执行结果的截图
    在这里插入图片描述

Lambda Transforms

关于 Lambda 变换 实在理解不了,教程给出了解释如下

Lambda函数是一种不需要名字、由一个单独表达式组成的匿名函数,表达式会在调用时被求值。
Lambda Transforms可以加载任意定义的Lambda函数,提供足够的灵活度。
  • 执行结果的截图
    在这里插入图片描述

结语

以上就是本篇根据昇思平台数据变换 Transforms教程文章所有内容

  • 最后感谢华为云 的 ModelArts 平台提供免费的学习环境和服务器资源
Logo

昇腾万里,让智能无所不及

更多推荐