caffe中train过程的train数据集、val数据集、test时候的test数据集区别
val是validation的简称。
training dataset 和 validation dataset都是在训练的时候起作用。
而因为validation的数据集和training没有交集,所以这部分数据对最终训练出的模型没有贡献。
validation的主要作用是来验证是否过拟合、以及用来调节训练参数等。
比如你训练0-10000次迭代过程中,train和validation的loss都是不断降低,
但是从10000-20000过程中train loss不断降低, validation的loss不降反升。
那么就证明继续训练下去,模型只是对training dataset这部分拟合的特别好,但是泛化能力很差。
所以与其选取20000次的结果,不如选择10000次的结果。
这个过程的名字叫做 Early Stop, validation数据在此过程中必不可少。
如果你去跑caffe自带的训练demo,你会用到train_val.prototxt,这里面的val其实就是validation。
而网络输入的TEST层,其实就是validation,而不是test。你可以通过观察validation的loss和train的loss定下你需要的模型。
但是为什么现在很多人都不用validation了呢?
我的理解是现在模型中防止过拟合的机制已经比较完善了,Dropout\BN等做的很好了。
而且很多时候大家都用原来的模型进行fine tune,也比从头开始更难过拟合。
所以大家一般都定一个训练迭代次数,直接取最后的模型来测试。
caffe中train过程的train数据集、val数据集、test时候的test数据集区别的更多相关文章
- caffe学习--使用caffe中的imagenet对自己的图片进行分类训练(超级详细版) -----linux
http://blog.csdn.net/u011244794/article/details/51565786 标签: caffeimagenet 2016-06-02 12:57 9385人阅读 ...
- Caffe初试(二)windows下的cafee训练和测试mnist数据集
一.mnist数据集 mnist是一个手写数字数据库,由Google实验室的Corinna Cortes和纽约大学柯朗研究院的Yann LeCun等人建立,它有60000个训练样本集和10000个测试 ...
- caffe中各层的作用:
关于caffe中的solver: cafffe中的sover的方法都有: Stochastic Gradient Descent (type: "SGD"), AdaDelta ( ...
- caffe中python接口的使用
下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...
- caffe绘制训练过程的loss和accuracy曲线
转自:http://blog.csdn.net/u013078356/article/details/51154847 在caffe的训练过程中,大家难免想图形化自己的训练数据,以便更好的展示结果.如 ...
- (原)caffe中通过图像生成lmdb格式的数据
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5909121.html 参考网址: http://www.cnblogs.com/wangxiaocvp ...
- 在Caffe中实现模型融合
模型融合 有的时候我们手头可能有了若干个已经训练好的模型,这些模型可能是同样的结构,也可能是不同的结构,训练模型的数据可能是同一批,也可能不同.无论是出于要通过ensemble提升性能的目的,还是要设 ...
- pycaffe︱caffe中fine-tuning模型三重天(函数详解、框架简述)
本文主要参考caffe官方文档[<Fine-tuning a Pretrained Network for Style Recognition>](http://nbviewer.jupy ...
- caffe 中 python 数据层
caffe中大多数层用C++写成. 但是对于自己数据的输入要写对应的输入层,比如你要去图像中的一部分,不能用LMDB,或者你的label 需要特殊的标记. 这时候就需要用python 写一个输入层. ...
随机推荐
- stm32位操作详解
stm32位操作详解 STM32位操作原理 思想:把一个比特分成32位,每位都分配一个地址,这样就有32个地址,通过地址直接访问. 位操作基础 位运算 位运算的运算分量只能是整型或字符型数据,位运算把 ...
- 【ABP】工作单元——不进行事物独立执行功能
1.注入 private readonly IUnitOfWorkManager unitOfWorkManager; 2.构造 3.开启新事物 using (var unitOfWork = uni ...
- Android应用程序MVC框架实例分析
问题提出:如何优雅地分离出应用程序的状态.用户交互和数据表现?如何通过框架体现工程的高性能.高灵活性.高响应性? MVC定义:model.view.controller三者的有机组合,分别表示:模型. ...
- Hadoop Java API 操作 hdfs--1
Hadoop文件系统是一个抽象的概念,hdfs仅仅是Hadoop文件系统的其中之一. 就hdfs而言,访问该文件系统有两种方式:(1)利用hdfs自带的命令行方式,此方法类似linux下面的shell ...
- TypeScript系列 - 什么是TypeScript
看了很多关于TypeScript的文章,总体说来没有很好的,一个系统的学习TypeScript的资源. 接下来,我将给大家带来TypeScript的系列,让你和我一样,一步一步的学习TypeScrip ...
- C/C++中的内存对齐问题和pragma pack命令详解
这个内存对齐问题,居然影响到了sizeof(struct)的结果值.突然想到了之前写的一个API库里,有个API是向后台服务程序发送socket请求.其中的socket数据包是一个结构体.在发送soc ...
- Red hat查找命令所属的rpm包
当安装命令软件包时,很多时候命令名不一定就是软件包的名字 如scp命令,其命令名就和软件包名字不一样,直接安装会失败: #yum install scp .... Trying other mirro ...
- Servlet 参数
1.应用参数,在web.xml配置,所有Servlet共用 <context-param> <param-name>driver</param-name> < ...
- 【java】i++与++i、i--运算
package test; //i++与--i运算 public class test { public static void main(String[] args) { int b=0; int ...
- 19.3.19 使用Flask框架搭建一个简易登录服务器
import Flask import json from Flask import request server1 = flask.Flask(__name__) #实例化一个flask对象 @se ...