tensorflow,model,object_detection,训练loss先下降后递增,到几百万,解决tensorflow,model,object,detection,loss,incease
现象:训练loss一开始下降一部分,跌代到若干次(具体多少和你的learning rate大小有关,大就迭代小就发生,小就需要多几次迭代)
日志如下(下面的日志来源于网络,我自己的日志已经clear掉了,不过不影响):
INFO:tensorflow:global step 272: loss = 0.2479 (0.158 sec/step)
INFO:tensorflow:global step 273: loss = 0.3874 (0.159 sec/step)
INFO:tensorflow:global step 274: loss = 0.2599 (0.158 sec/step)
INFO:tensorflow:global step 275: loss = 27207767073038008320.0000 (0.155 sec/step)
INFO:tensorflow:global step 276: loss = 363770730445224804352.0000 (0.154 sec/step)
INFO:tensorflow:global step 277: loss = 2319587573063963639808.0000 (0.157 sec/step)
INFO:tensorflow:global step 278: loss = 9538479895582634672128.0000 (0.155 sec/step)
INFO:tensorflow:global step 279: loss = 35610680577759077466112.0000 (0.153 sec/step)
网上说是可能数据增强的原因,但是根据现象,为什么一开始是正常的呢。知道我我看一个网上的同学说,他发现是他的
label_map.pbtxt中是有5个类别,但是在pipline.config中number_class:4,导致出现不一致,后面该同学修改过来就可以了。
我的解决是,我在label_map.pbtxt中的id是1,name:cat,但是在生成tfrecord的时候是cats,这导致了不一致,使得训练中获取lable1出错。
为什么现象是loss先降低后崩掉(梯度爆炸中比较特殊的一种吧,个人认为)这样呢?
因为,一开始模型还处于非工作状态,在first stage的时候,模型通过识别到目标使得loss下降,当模型训练到一定程度,对目标识别越来越好,second
loss开始占主导或者second-stage输入变得有规律,不再随机,这时候,需要识别具体是什么目标的时候,tfrecord里面的label是cats,在label_map.pbtxt需要找到
对应的id时,这时候因为“label_map.pbtxt中的id是1,name:cat,但是在生成tfrecord的时候是cats”不一致,导致没取到id,这时就开始乱套了。
所以,做数据要仔细呀
tensorflow,model,object_detection,训练loss先下降后递增,到几百万,解决tensorflow,model,object,detection,loss,incease的更多相关文章
- 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器
上次使用Google ML Engine跑了一下TensorFlow Object Detection API中的Quick Start(http://www.cnblogs.com/take-fet ...
- 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)
前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的 ...
- 【实践】如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统)
如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安 ...
- tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用——模型层次太深,或者太复杂训练时候都不会收敛
tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用. 数据目录在data,data下放了汉字识别图片: data$ ls0 1 10 11 12 13 14 15 ...
- 自己搞了20万张图片100个分类,tensorflow训练23万次后。。。。。。
自己搞了20万张图片100个分类,tensorflow训练23万次后...... 我自己把训练用的一张图片,弄乱之后做了一个预测 100个汉字,20多万张图片,tensorflow CNN训练23万次 ...
- [Tensorflow] Object Detection API - predict through your exclusive model
开始预测 一.训练结果 From: Testing Custom Object Detector - TensorFlow Object Detection API Tutorial p.6 训练结果 ...
- 使用Tensorflow Object Detection进行训练和推理
整体流程(以PASCAL VOC为例) 1.下载PASCAL VOC2012数据集,并将数据集转为tfrecord格式 2.选择并下载预训练模型 3.配置训练文件configuration(所有的训练 ...
- 【Tensorflow】 Object_detection之配置Training Pipeline
参考:Configuring an object detection pipeline 1.config文件 配置好的config文件存放路径:object_detection/samples/con ...
- Python之TensorFlow的模型训练保存与加载-3
一.TensorFlow的模型保存和加载,使我们在训练和使用时的一种常用方式.我们把训练好的模型通过二次加载训练,或者独立加载模型训练.这基本上都是比较常用的方式. 二.模型的保存与加载类型有2种 1 ...
随机推荐
- EF Like
public static class EdmxExtensions { [EdmFunction("YourEFModel", "String_Like")] ...
- 微软MSDN原版Windows Server 2008 R2 With SP1下载
Windows Server 2008 R2是windows 服务器版本Windows Server 2008 R2继续提升了虚拟化.系统管理弹性.网络存取方式,以及信息安全等领域的应用,其中有不少功 ...
- 运用scrollPic插件的实例
html页面部分 <!doctype html> <html lang="en"> <head> <meta charset=" ...
- Composer 的基本使用
官网 https://packagist.org/ 安装依赖包 $ composer require phpmailer/phpmailer composer.json 文档 https://getc ...
- js通过replace()方法配合正则去除空格
<script> //去掉全部空格 var str = " 546546 4564 46 46 88 88 "; var str = str.replace(/\s+/ ...
- 开源在线分析诊断工具Arthas(阿尔萨斯)--总结
阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯) arthas用法 启动demo java -jar arthas-demo.jar 启动 java -jar arthas-boot.jar at ...
- [UE4]虚幻引擎的C++环境安装
一.一般使用VS2017开发 二.需要勾选“使用C++的游戏开发”
- [UE4]Add Offset
在原来值的基础上增加偏移
- servlet-response学习笔记
为了给用户一个返回数据,我们需要使用HttpServletResponse 从相应对象获取一个输入流 通过输入流将返回结果写入到响应体中 关闭输入流 public class ResponseServ ...
- windows环境 springboot+docker开发环境搭建与hello word
1,下载安装 docker toolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker t ...