【深度学习】2-5 神经网络-批处理

批处理(Batch Processing)是指在深度学习中每次迭代更新模型参数时同时处理多个样本的方式

批处理时要注意对应维度的元素个数要一致

关于之前手写数字识别的例子:
用图表示,可以发现,多维数组的对应维度的元素个数确实是一致的。此外,还可以确认最终的结果是输出元素个数为10的一维数组。
在这里插入图片描述

现在来考虑打包输入多张图像的情形。
我们想用predict函数一次性打包处理100张图像。为此,可以把的形状改为100 x 784,将100张图像打包作为输人数据。用图表示的话
在这里插入图片描述

可以发现最后输出数据的形状100 x 10。
这种打包式的输人数据称为批(batch)
批处理对计算机的运算大有利处,可以大幅缩短每张图像的处理时间

下面我们进行基于批处理的代码实现。

x,t = get_data()
network= init_network()

batch_size = 100  # 批数量
accuracy_cnt = 0
for i in range(0,len(x),batch_size):
	x_batch = x[i:i+batch_size]
	y_batch = predict(network,x_batch)
	p= np.argmax(y_batch,axis=1)
	accuracy_cnt += np.sum(p == t[i:i+batch_size])
print("Accuracy:"+str(float(accuracy_cnt) / len(x)))

通过x[i:i+batch_size]从输入数据中抽出批数据,然后,通过argmax()获取值最大的元素的索引,要注意的是这里给定了axis =1,也意味着在100 x 10的数组中,沿着第1维方向(以第1维为轴)找到值最大的元素的索引(矩阵的第0维是列方向,第1维是行方向),看下面这个例子:

>>>x = np.array([[0.1,0.8,0.1], [0.30.10.6], [0.20.50.3], [0.80.10.1]])
>>>y=np.argmax(x, axis=1)
>>>print(y)
[1 2 1 0] 

在实现批处理时,需要注意以下几个方面:
内存限制:批处理大小应该根据硬件设备的内存大小来设置,防止内存溢出。
数据划分:将训练数据划分成多个批次时,应该保证每个批次的样本分布相似,避免训练出现偏差。
学习率调整:批处理的使用可能会对学习率的选择产生影响,需要对学习率进行相应的调整。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端Vue自定义导航栏菜单 定制左侧导航菜单按钮 中部logo图标 右侧导航菜单按钮

前端Vue自定义导航栏菜单 定制左侧导航菜单按钮 中部logo图标 右侧导航菜单按钮, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id13152 效果图如下: # cc-navHeader #### 使用方法 使用方法 在page.json设…

一种实现Spring动态数据源切换的方法 | 京东云技术团队

1 目标 不在现有查询代码逻辑上做任何改动,实现dao维度的数据源切换(即表维度) 2 使用场景 节约bdp的集群资源。接入新的宽表时,通常uat验证后就会停止集群释放资源,在对应的查询服务器uat环境时需要查询的是生产库…

实例讲解,一文弄懂workqueue和waitqueue

本期主题: 讲清workqueue和waitqueu: 从中断讲起waitqueue是什么workqueue总结 往期链接: linux设备驱动中的并发linux设备驱动中的编译乱序和执行乱序linux设备驱动之内核模块linux字符驱动linux字符驱动之ioctl部分linux字符驱动之read、…

分布式存储Ceph的部署及应用(创建MDS、RBD、RGW 接口)

系列文章目录 文章目录 系列文章目录一、1.存储基础2. 单机存储的问题3. 分布式存储(软件定义的存储 SDS) 二 Ceph1.Ceph 简介2. Ceph 数据的存储过程 总结 一、 1.存储基础 1.1 单机存储设备 ●DAS(直接附加存储,是直接接到计算…

SAX解析XML返回对应格式的Map对象

前言 最近有一个解析大型xml的需求,xml大小7M,其中xml结构非常复杂,元素各种嵌套 不乏有元素下对象,元素下集合,集合下对象,集合下集合,兄弟不同元素节点,元素下对象下集合&#xff…

HDFS读写流程

读数据流程 客户端向NameNode请求文件的位置:客户端想要访问一个文件时,会向NameNode发送一个请求,要求获取该文件在HDFS上的位置信息。 NameNode将位置信息返回给客户端:NameNode接收到客户端的请求后,会返回该文件所…

设计模式—访问者模式

需求:店铺采购了一批水果(苹果及橘子),现在市场监督局来店里检查过期的水果。 public class Fruit {private String name;private Date pickDate;public Fruit(String name, Date pickDate) {this.name name;this.pickDate pic…

javaWeb之cookiesession

1 回顾 1.1 response对象 一次响应封装对象,由服务器创建。使用response对象将服务器需要的数据发送给浏览器。 将数据存放response对象中,tomcat从response对象获得数据,根据数据组织http响应,最后将http响应内容发送给浏览器&…

selenium自动化教程及使用java来爬取数据

目录 一、介绍二、下载浏览器驱动1.获取要下载的驱动版本号2.下载驱动 三、Maven如下四、简单使用五、定位器1.定位器2.说明(1) class name 定位器(2) css selector 定位器(3) id 定位器(4) name 定位器(5) link text 定位器(6) partial link text 定位器(7) tag 定位器(8) xpa…

第8讲:$.ajax方法使用详解

jQuery对象上面定义了Ajax方法($.ajax()),用来处理Ajax操作。调用该方法后,浏览器就会向服务器发出一个HTTP请求。ajax方法有很多属性,但并非每次调用都要使用所有属性,本讲详细介绍了每个属性的作用&#…

windows搭建vue开发环境

参考博客:最详细的vue安装教程_一只野生程序媛的博客-CSDN博客 Vue安装环境最全教程,傻瓜式安装_浪漫主义码农的博客-CSDN博客 1、安装nodejs,从下面官网下载版本,对应安装就行了: Node.js 中文网 2、安装好后&…

Linux 多路转接 —— poll

目录 传统艺能😎poll🤣struct pollfd🤣 poll 服务器😘PollServer类😁运行服务器😒事件处理😁 服务器测试😂 传统艺能😎 小编是双非本科大二菜鸟不赘述,欢迎米…

0基础学习地平线QAT量化感知训练

文章目录 1. 背景2. 基础理论知识3. 文件准备与程序运行4. 代码详解4.1 导入必要依赖4.2 主函数4.3 构建fx模式所需要的float_model4.4 不同阶段模型的获取4.5 定义常规模型训练与验证的函数4.6 float与qat训练代码解读——float_model/qat_model4.7 模型校准部分的代码解读——…

七、docker-compose方式运行Jenkins,更新Jenkins版本,添加npm node环境

docker-compose方式运行Jenkins,更新Jenkins版本,添加npm node环境 一、docker-compose方式安装运行Jenkins 中发现Jenkins版本有点老,没有node环境,本节来说下更新jenkins 及添加构建前端的node环境。 1. 准备好docker-compose…

三种方法将Word文档转换为PDF文件格式

如何将Word文档转换为PDF文件格式呢?大家在传输文件时,很多人喜欢使用PDF文件格式,因为它非常稳定,不会出现格式混乱的问题。但有些人可能不知道如何进行转换,今天我将介绍三种转换方法,让我们一起来学习一…

mysql 删表引出的问题

背景 将测试环境的表同步到另外一个数据库服务器中,但有些表里面数据巨大,(其实不同步该表的数据就行,当时没想太多),几千万的数据!! 步骤 1. 既然已经把数据同步过来的话&#x…

环境配置 | Git的安装及配置[图文详情]

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从小到大的项目版本管理。下面介绍了基础概念及详细的用图文形式介绍一下git安装过程. 目录 1.Git基础概念 2.Git的下载及安装 3.常见的git命令 Git高级技巧 Git与团队协作 1.Git基础概念 仓库&#…

认识异常

目录 异常的概念与体系结构 异常的概念 异常的体系结构 异常的分类 异常的处理 防御式编程 1. LBYL: 2. EAFP: 异常的抛出 异常的捕获 异常声明throws try-catch捕获并处理 关于异常的处理方式 finally 异常的处理流程 自定义异常类 异常的概念与体系结构 异常…

基于SpringBoot+kaptcha的验证码生成

教程 1.添加 Kaptcha 依赖 在 pom.xml 文件中添加 Kaptcha 依赖&#xff1a; <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version> </dependency> <!--或者 都…

平凯星辰重磅支持 2023 开放原子全球开源峰会,开源数据库分论坛成功召开

2023 年 6 月 11 日至 13 日&#xff0c;以“开源赋能&#xff0c;普惠未来”为主题的 2023 开放原子全球开源峰会开幕式暨高峰论坛在北京成功举办。企业级开源分布式数据库厂商平凯星辰联合创始人兼 CTO 黄东旭受邀出席峰会参与开源论道圆桌&#xff0c;担任开源数据库分论坛出…