昇思25天学习打卡营第3天|数据集 Dataset

news2024/11/26 18:23:37

1. 学习内容复盘

集数据

  1. 什么是数据集

数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。其中Dataset是Pipeline的起始,用于加载原始数据。mindspore.dataset提供了内置的文本、图像、音频等数据集加载接口,并提供了自定义数据集加载接口。

此外MindSpore的领域开发库也提供了大量的预加载数据集,可以使用API一键下载使用。

  1. 数据集加载

我们使用Mnist数据集作为样例,介绍使用mindspore.dataset进行加载的方法。

mindspore.dataset提供的接口仅支持解压后的数据文件,因此我们使用download库下载数据集并解压。

  1. 数据集迭代

数据集加载后,一般以迭代方式获取数据,然后送入神经网络中进行训练。我们可以用create_tuple_iterator或create_dict_iterator接口创建数据迭代器,迭代访问数据。

访问的数据类型默认为Tensor;若设置output_numpy=True,访问的数据类型为Numpy。

  1. 数据集常用操作

Pipeline的设计理念使得数据集的常用操作采用dataset = dataset.operation()的异步执行方式,执行操作返回新的Dataset,此时不执行具体操作,而是在Pipeline中加入节点,最终进行迭代时,并行执行整个Pipeline.

3种常见的数据集操作:

shuffle

数据集随机shuffle可以消除数据排列造成的分布不均问题。

map

map操作是数据预处理的关键操作,可以针对数据集指定列(column)添加数据变换(Transforms),将数据变换应用于该列数据的每个元素,并返回包含变换后元素的新数据集。

batch

将数据集打包为固定大小的batch是在有限硬件资源下使用梯度下降进行模型优化的折中方法,可以保证梯度下降的随机性和优化计算量。

  1. 自定义数据集

mindspore.dataset模块提供了一些常用的公开数据集和标准格式数据集的加载API。

对于MindSpore暂不支持直接加载的数据集,可以构造自定义数据加载类或自定义数据集生成函数的方式来生成数据集,然后通过GeneratorDataset接口实现自定义方式的数据集加载。

GeneratorDataset支持通过可随机访问数据集对象、可迭代数据集对象和生成器(generator)构造自定义数据集,下面分别对其进行介绍:

可随机访问数据集:是实现了__getitem__和__len__方法的数据集,表示可以通过索引/键直接访问对应位置的数据样本。

可迭代的数据集:是实现了__iter__和__next__方法的数据集,表示可以通过迭代的方式逐步获取数据样本。这种类型的数据集特别适用于随机访问成本太高或者不可行的情况。例如,当使用iter(dataset)的形式访问数据集时,可以读取从数据库、远程服务器返回的数据流。

生成器:也属于可迭代的数据集类型,其直接依赖Python的生成器类型generator返回数据,直至生成器抛出StopIteration异常。

2.平台实验结果

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

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

相关文章

如何快速熟悉新公司产品

业务流程图 刚刚入职一家新公司,一般肯定是想快速提现自己的价值,让公司知道招聘到自己真是一件赚到的事情,但是往往我们都是接着上个产品的锅,不知道从何下手。 如果之前了解一点业务还好说,但是大部分时候我们做产品…

VB.net实战(VSTO):VSTOwpf体验框架打包教程

如果是考虑到Wps用户较多,就不建议采用侧边栏的形式 只是个体验框架,界面未作美化,office的用户可以用任意一种窗体,喜欢那个界面就写那个界面,wps的侧边栏只能弹出一部分,每次需要的手动拖动。 打包了案例…

力扣SQL50 项目员工 I ROUND AVG

Problem: 1075. 项目员工 I 👨‍🏫 参考题解 Code select project_id,ROUND(AVG(e.experience_years),2) as average_years FROMproject as p LEFT JOINemployee as e ONp.employee_id e.employee_id GROUP BYp.project_id;

智慧公厕系统厂家的核心技术与光明源应用案例

随着城市化进程的加快和智慧城市建设的推进,智慧公厕系统在提升公共服务质量和用户体验方面发挥了重要作用。智慧公厕系统厂家的核心技术是确保这一系统高效运转和用户满意度的关键。以下将介绍智慧公厕系统厂家的核心技术,并通过光明源的应用案例展示其…

【网络安全的神秘世界】docker启动失败?看我如何成功启动

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 🙋‍♂️问题描述 关闭docker后再启动就发现启动失败了 错误信息:Job for docker.service failed b…

分流井设备的监测控制和智慧运维

分流井是一种用于将雨水和污水进行分离的设施,通常设置在雨水管和污水管的汇合处。它可以根据不同的情况,将雨水和污水分别排放到不同的管道中,从而实现雨污分流的目的。 以下是一些常见的分流井类型和工作原理: 1、智能分流井&a…

WPF——Binding

一、作用 将Window GUI的运行机理从 “事件驱动” 转变为 “数据驱动”。将UI界面与业务逻辑解耦,使得改动一个而无需改动另一个。数据逻辑层自成体系,使得无需借助UI也可进行单元测试。 二、基础 1. Binding源模板 Binding包括源与目标,源…

反激开关电源输出假负载

1、为何需要假负载? 开关电源芯片的占空比最小不可能做到0%,都有一个最小导通时间,不过最小导通时间,在规格书中,不一定给出来 注意:如果没有最小导通时间,就相当于芯片都停止输出了&#xff…

侠客短视频解析,一款便捷的聚合短视频解析下载工具

软件链接:聚合视频下载神器,任何平台,任何资源,轻松下载! 现在短视频已成为人们获取信息和娱乐的重要渠道。随着短视频平台的增多,用户经常会遇到想要下载视频以便离线观看的需求。今天,我们就…

去水印助手,小熊录屏,OldRoll复古胶片相机

我们将带大家了解三款特色应用,软件是经过大佬处理过的,都非常的好用!今天分享给大家!如果你也喜欢这几款软件不要忘记给博主点击点赞和再看哦! 软件获取链接在链接的底部: 一键去水印助手 无论您是在各大社交平台上…

Spring MVC拦截器、文件上传和全局异常处理

目录 1.拦截器1.1.什么是拦截器?1.2 拦截器的API1.3 拦截器的执行顺序1.5 自定义拦截器1.5 登录拦截器案例 2.文件上传2.1 添加依赖2.2 配置文件上传解析器2.3 编写控制器2.4 编写jsp页面2.5 注意事项 3.全局异常处理器3.1 异常处理思路3.2 创建异常处理器3.3 编写异…

云渲染可以渲染SketchUp吗?

最近有很多人在问,云渲染可以渲染sketchup吗?答案是可以的,不过只有两三家支持,大部分云渲染是还是不支持的,今天就给大家介绍国内最新支持sketchup渲染的云渲染——炫云云渲染的使用方法。 炫云云渲染目前支持sketchu…

NetSuite Non-Inventory Item 公司内外采购总账影响

上篇文章提到,Non-Inventory Item的科目维护会根据各个企业的实际情况而有所不同,通常情况下都涉及外部交易,即对外采购与销售;另外也涉及到公司内部的相关交易,本篇以采购为例,来看看公司内外采购交易所对…

【漏洞复现】万户-ezOFFICE download_ftp.jsp 任意文件下载漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

设计模式1-简介

设计模式简介 专栏的目的什么是设计模式设计模式要学什么软件开发原则主流设计模式 学习建议经典面试题 资源 专栏的目的 1.理解松耦合的设计思想 2.掌握面向对象设计原则 3.掌握重构技法改善设计 4.掌握GOF核心设计模式 什么是设计模式 每一个模式描述了一个在我们周围不…

面向服务的架构(Service-Oriented Architecture, SOA)

目录 前言1. SOA的基本概念1.1 定义和特点1.2 核心原则 2. SOA的优势与挑战2.1 优势2.2 挑战 3. SOA的实现技术3.1 Web服务3.2 微服务架构3.3 企业服务总线(ESB) 4. SOA在现代企业中的应用4.1 金融行业4.2 电子商务4.3 政府和公共服务4.4 医疗健康 结语 …

【代码】python实现一个BP神经网络-原理讲解与代码展示

​ 本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、BP神经网络原理回顾1.1 BP神经网络的结构简单回顾1.2.BP神经网络的训练算法流程 二、python实现BP神经网络代码2.1.数据介绍2.2.pytorch实现BP神经网络代码 在python中要如何使用代码实现一个BP神经网络呢…

Github 2024-06-22Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-06-22统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Dart项目1Move项目1TypeScript项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust, Dart协议类型:GNU …

python编程大数据分析 ,anaconda ,删除包 提示没有meta信息,无法删除tensorflow2.10,无法降级到tensorflow2.5.3

python编程大数据分析 ,anaconda ,删除包 提示没有meta信息,无法删除tensorflow2.10,无法降级到tensorflow2.5.3 pip unstall tensorflow 提示 Requirement already satisfied: tensorflow in k:\programdata\anaconda3\lib\site-p ackage…

【源码】人力资源管理系统hrm功能剖析及源码

eHR人力资源管理系统:功能强大的人力资源管理工具 随着企业规模的不断扩大和业务需求的多样化,传统的人力资源管理模式已无法满足现代企业的需求。eHR人力资源管理系统作为一种先进的管理工具,能够为企业提供高效、准确、实时的人力资源管理。…