昇思MindSpore学习入门-轻量化数据处理

在资源条件允许的情况下,为了追求更高的性能,一般使用Pipeline模式执行数据变换Transforms。

基于Pipeline模式执行的最大特点是需要使用map方法,如下图中将Resize、Crop、HWC2CHW交由map调度,由其负责启动和执行给定的Transform,对Pipeline的数据进行映射变换。

虽然构建数据管道可以批量处理输入数据,但是数据管道的API设计要求用户从构建输入源开始,逐步定义数据管道中的各个Transform,仅当在定义map的时候才会涉及与用户输入数据高度相关的Transform。

无疑,用户只想重点关注这些与其相关度最高的代码,但其他相关度较低的代码却在整个代码场景中为用户增加了不必要的负担。

因此,MindSpore提供了一种轻量化的数据处理执行方式,称为Eager模式。

在Eager模式下,执行Transforms不需要依赖构建数据管道map,而是以函数式调用的方式执行Transforms。因此代码编写会更为简洁且能立即执行得到运行结果,推荐在小型数据增强实验、模型推理等轻量化场景中使用。

MindSpore目前支持在Eager模式执行各种Transform,具体如下所示,更多数据变换接口参见API文档。

  • vision模块
    • 子模块transforms,基于OpenCV/Pillow实现的数据变换。
  • text模块
    • 子模块transforms,基于Jieba/ICU4C等库实现的数据变换。
  • transforms模块
    • 子模块transforms,基于C++/Python/NumPy实现的通用数据变换。

Eager模式

下面将简要介绍各Transforms模块的Eager模式使用方法。使用Eager模式,只需要将Transform本身当成可执行函数即可。

数据准备

以下示例代码将图片数据下载到指定位置。

vision

此示例将使用mindspore.dataset.vision模块中的Transform,对给定图像进行变换。

您仅需要关注使用何种数据变换,而不需要关注数据管道的任何代码。

Vision Transform的Eager模式支持numpy.array或PIL.Image类型的数据作为入参。

text

此示例将使用text模块中Transforms,对给定文本进行变换。

Text Transforms的Eager模式支持numpy.array类型数据的作为入参。

transforms

此示例将使用transforms模块中通用Transform,对给定数据进行变换。

通用Transform的Eager模式支持numpy.array类型的数据作为入参。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言统计分析——控制流

参考资料:R语言实战【第2版】 语句(statement)是一条单独的R语言或一组复合语言(包含在花括号{}中的一组R语言,使用分号分隔) 条件(cond)是一条最终被解析为真(TRUE&…

python黑马笔记

运算符: 算术运算符: 加 - 减 * 乘 / 除 // 整除 % 取余 ** 求平方 除法计算得出的结果都是小数 赋值运算符: 标准赋值: 复合赋值: 、 - 、 * 、 / 、// 、 ** 字符串: 字符串拓展内容&#xf…

护网紧急情况应对指南:Linux 应急响应手册

继上一篇:护网紧急情况应对指南:Windows版v1.2全新升级版 之后 收到小伙伴后台要Linux应急手册,今天给大家安排上。 《Linux应急手册》是一本为Linux系统管理员和运维工程师量身打造的实用指南,旨在帮助他们快速应对各种突发状况…

基于FFMPEG和SDL的音视频解码播放的实现过程与相关细节

目录 1、视频播放器原理 2、FFMPEG解码 2.1 FFMPEG库 2.2、数据类型 2.3、解码 2.3.1、接口函数 2.3.2、解码流程 3、SDL播放 3.1、接口函数 3.2、视频播放 3.3、音频播放 4、音视频的同步 4.1、获取音频的播放时间戳 4.2、获取当前视频帧时间戳 4.3、获取视…

MATLAB仿真:数字信号处理用FFT对信号分析

目录 1.实验目的 2 实验原理 3.实验仪器及设备 4.实验步骤及内容 (1)对以下序列进行谱分析。 (2)对以下周期序列进行谱分析。 (3)对模拟周期信号进行谱分析 1.实验目的 学习用 FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,…

CAS算法

CAS算法 1. CAS简介 CAS叫做CompareAndSwap,比较并交换,主要是通过处理器的指令来保证操作的原子性。 CAS基本概念 内存位置 (V):需要进行CAS操作的内存地址。预期原值 (A):期望该内存位置上的旧值。新值 (B):如果旧…

The Llama 3 Herd of Models.Llama 3 模型论文全文

现代人工智能(AI)系统是由基础模型驱动的。本文提出了一套新的基础模型,称为Llama 3。它是一组语言模型,支持多语言、编码、推理和工具使用。我们最大的模型是一个密集的Transformer,具有405B个参数和多达128K个tokens的上下文窗口。本文对Llama 3进行了广泛的实证评价。我们…

DNS 污染/毒化——华为ensp

实验原理:1,用户正常访问 Web页面,会查询本地DNS服务器,一般情况下,本地DNS服务器会设置为 网关地址。2, 攻击者在 用户和网关之间,开启ARP攻击即可,这样,就可以让 用户访问本地DNS服…

【Ant Design Pro】快速上手

初始化 初始化脚手架:快速开始 官方默认使用 umi4,这里文档还没有及时更新(不能像文档一样选择 umi 的版本),之后我选择 simple。 然后安装依赖。 在 package.json 中: "start": "cross-e…

卷积的意义及其派生(一)

1.卷积的意义 1.1从LTI的角度看 卷积最开始其实是信号处理中用来描述线性移不变系统Linear time-invariant systems的。线性,表明可以叠加,信号可以拆分成脉冲的响应;时不变,指信号不随着时间的迁移改变,意味着能量守…

【iOS】——通知机制及底层原理

通知传值概要 通知传值可以跨越多个界面进行传值,一般用于后一个界面向前一个界面传值。 通知传值支持多个接收者,多个对象可以同时接收同一个通知并进行处理。这样可以实现一对多的通信,方便跨多个对象进行值传递。 使用步骤 1.在发送者中…

Latent Factor Analysis via Dynamical Systems:LFADS (Nature methods 2018)

Nature Methods:https://www.nature.com/articles/s41592-018-0109-9 LFADS Run Manager for Matlab:https://lfads.github.io/lfads-run-manager/ 目录 Single session:假设:方法:结果: Multi-sessions:假设&#xff…

【C++】位运算:两整数之和

1.题目 2.算法思路 本题不能只用 -,那大概率用到位运算符。 异或的作用是无进位相加,所以需要通过异或运算(^)来替代加法运算,但是我们无法确定进位的信息。所以需要与运算(&)来得到进位的…

【Android】Activity生命周期与五种启动模式

文章目录 生命周期返回栈Activity状态生命周期方法 启动模式standard模式singleTask模式singleTop模式singleInstance模式singleInstancePerTask模式配置方式 生命周期 返回栈 每个Activity的状态由它在Activity栈(又叫“回退栈back stack”)中的位置决…

MySQL高性能读写分离实战

介绍 我的上一篇文章实现了mysql的主从复制结构,今天这篇继续将如何实现读写分离。 读写分离是指:针对数据库的写操作(插入、更新、删除等)访问主数据库,读操作访问从数据库。 因为一般网站的读请求的数量是远远大于…

《数据结构:顺序实现二叉树》

文章目录 一、树1、树的结构与概念2、树相关术语 二、二叉树1、概念与结构2、满二叉树3、完全二叉树 三、顺序二叉树存储结构四、实现顺序结构二叉树1、堆的概念与结构2、堆的实现3、堆的排序 一、树 1、树的结构与概念 树是一种非线性的数据结构,它是由n&#xff…

【Python机器学习】决策树的构造——划分数据集

分类算法除了需要测量信息熵,还需要划分数据集,度量划分数据集的熵,以便判断当前是否正确划分了数据集。 我们将对每个特征划分数据集的结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的划分方式。 想象一个分部在二…

4-4 数值稳定性 + 模型初始化和激活函数

数值稳定性 这里的 t t t表示层,假设 h t − 1 h^{t-1} ht−1是第 t − 1 t-1 t−1层隐藏层的输出,经过一个 f t f_{t} ft​得到第 t t t层隐藏层的输出 h t h^{t} ht。 y y y表示 x x x进来,第一层一直到第 d d d层,最后到一个损…

研究生选择学习Android开发的利与弊?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「Android的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!产品经理可以学学Axure快…

vscode远程免密登入

1、windows (1) 点击左下角 ->将当前窗口连接到主机…->(配置ssh文件,点击或者指定)->按这个格式添加 (2) 在cmd命令窗口:ssh-keygen -t rsa (-C “name”) #这个name是远程linux的用户名,这里也可以不加-C…