epoch,iteration,batch,batch_size
epoch:训练时,所有训练图像通过网络训练一次(一次前向传播+一次后向传播);测试时,所有测试图像通过网络一次(一次前向传播)。Caffe不用这个参数。
batch_size:1个batch包含的图像数目,通常设为2的n次幂,常用的包括64,128,256。
网络较小时选用256,较大时选用64。
iteration:训练时,1个batch训练图像通过网络训练一次(一次前向传播+一次后向传播),每迭代一次权重更新一次;测试时,1个batch测试图像通过网络一次(一次前向传播)。
三者之间的关系:iterations =
epochs×(images /
batch_size),所以1个epoch包含的
iteration次数=样本数量/batch_size;
以Caffe的mnist为例(具体参数见相应的prototxt文件):
training_images=60k,batch_size=64, maximum_iterations=
10k,test
_images=10k,batch_size=100, test_iterations=100:
在这个参数设置下,训练时经历了10.6个epoch,测试时100次iteration(1个epoch)恰好可以遍历整个测试集。
注意:上面例子中如果训练时maximum_iterations=
10k,那么将会有10k×64=640k幅图像参与训练,乍一看这个是错的,因为640k远远大于训练集60k。事实上这是没问题的,当剩余的训练样本不够一个batch时,Caffe会带着这些剩余的样本然后重头开始再取一个batch。所以在设置Training和Testing的参数时需要注意,训练的某些参数可以不整除(比如10.6个epoch),但测试时设置的参数最好要能整除(测试网络时正好遍历完所有测试样本是最理想的情况)。
测试的时候,test_batch_size×test_iterations>number
of test
images也不会出错,甚至这样做也可以(这种情况下已经测试过的图像会组成新的batch重复测试),不过设置参数时最好还是test_batch_size×test_iterations=number
of test images。
在caffe中很多预训练好的模型的iteration都是40000,fast_rcnn那个代码也是40000
epoch,iteration,batch,batch_size的更多相关文章
- DL中epoch、batch等的意义【转载】
转自:深度学习中 number of training epochs 中的 epoch到底指什么? - 知乎 https://www.zhihu.com/question/43673341 1. (1 ...
- epoch iteration batchsize
深度学习中经常看到epoch. iteration和batchsize,下面按自己的理解说说这三个的区别: (1)batchsize:批大小.在深度学习中,一般采用SGD训练,即每次训练在训练集中取b ...
- 深度学习中 epoch,[batch size], iterations概念解释
one epoch:所有的训练样本完成一次Forword运算以及一次BP运算 batch size:一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数 ...
- step(iter)、epoch、batch size之间的关系
转自:https://blog.csdn.net/wcy23580/article/details/90082221
- 一文读懂神经网络训练中的Batch Size,Epoch,Iteration
一文读懂神经网络训练中的Batch Size,Epoch,Iteration 作为在各种神经网络训练时都无法避免的几个名词,本文将全面解析他们的含义和关系. 1. Batch Size 释义:批大小, ...
- batch、epoch、iteration
深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样本都看一遍, ...
- 深度学习中的batch、epoch、iteration的含义
深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样本都看一遍, ...
- TensorFlow走过的坑之---数据读取和tf中batch的使用方法
首先介绍数据读取问题,现在TensorFlow官方推荐的数据读取方法是使用tf.data.Dataset,具体的细节不在这里赘述,看官方文档更清楚,这里主要记录一下官方文档没有提到的坑,以示" ...
- 从头学pytorch(十九):批量归一化batch normalization
批量归一化 论文地址:https://arxiv.org/abs/1502.03167 批量归一化基本上是现在模型的标配了. 说实在的,到今天我也没搞明白batch normalize能够使得模型训练 ...
随机推荐
- linux安装AWStats业务数据分析工具
Awstats是一个非常简洁而且强大的统计工具.它可以统计您站点的如下信息:一:访问量,访问次数,页面浏览量,点击数,数据流量等精确到每月.每日.每小时的数据二:访问者国家.访问者IP.操作系统.浏览 ...
- TemplateText TT 在Runtime发生 Could not load type ...... because the format is invalid
Severity Code Description Project File Line Suppression State Error Running transformation: System.T ...
- Sublime Text 3 最新注册码激活码 和 Sublime Text 2 注册码
Sublime是一款很好用的很轻巧的编辑器,堪称一代神级编辑器.此篇文章用于简单学习记录下神器的激活码,不作其他用途.如有侵权,请联系删除,谢谢~~ 1.官方下载地址: http://www.su ...
- P1295-创意吃鱼
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- 爬虫基础(1):urllib库
urllib库 urllib库是python中的一个基本网络请求库.用于模拟浏览器的行为,向指定服务器发送请求,并接收返回的数据. 在python3中所有的网络请求相关函数都集中在urllib.req ...
- git 的基本设置以及使用
https://www.linuxidc.com/Linux/2018-05/152611.htm 详解git add , git commit , git push, 等命令 https://blo ...
- 13.组合查询--SQL
利用UNION操作符将多条SELECT语句组合成一个结果集. 主要有两种情况需要使用组合查询: 在一个查询中从不同的表返回结构数据: 对一个表执行多个查询,按一个查询返回数据. UNION规则 UNI ...
- 【考试记录】Educational Codeforces Round 59 (Rated for Div. 2)
本来准备划水,结果被垃圾题艹翻了…… T2题意: 定义一个数$x$的数字根$S(x)$为:将其各位数字相加得到一个新数,再将新数的数字和相加直到得到一个个位数,就是该数的数字根. 例如:$S(38)= ...
- 前端CSS(2)
前段基础css(2) 一.标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web网页的制作,是个“流”,从上而下,像 “织毛衣”.而设计软件 ,想往哪里画东西,就去哪里画. 标 ...
- 四则运算二(java web)
最近我和我的小伙伴yaoyali结成对子,共同写网页版的四则运算.虽然现在还没弄好,但是比起上次用纯java写的四则运算有了很大改进. 一.存放四则运算题目和答案的类 package com.jaov ...