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 ...
随机推荐
- 1080P60视频源---verilog
1080P60视频源---verilog `timescale 1ns / 1ps ////////////////////////////////////////////////////////// ...
- Azure CosmosDB (6) 冲突类型和解决策略
<Windows Azure Platform 系列文章目录> 当我们为CosmosDB配置多个Azure Region写入,就需要考虑冲突类型和解决策略. 对于配置了多个写入区域的 Az ...
- 聊聊Google DSM产品的发布
只有产品顺利的发布给用户使用并获得良好反馈,整个团队的价值才有所体现. 引言 不知不觉,从13年接手Google Doubleclick Sales Manager到今年7月,4年经历了3个miles ...
- cassert(assert.h)——1个
http://www.cplusplus.com/reference/cassert/assert/ 声明:void assert (int expression); #include <ios ...
- docker18.09.5 安装与启动、容器、镜像
docker安装与启动 yum -y update 1.卸载老版本的 docker 及其相关依赖yum remove -y docker docker-common container-selinux ...
- nginx 用来做什么?
代理服务端,反向代理,负载均衡. 其特点是占有内存少,并发能力强.
- oracle dg 报错提示 涉及硬盘错误
###oracle dg 报错提示 涉及硬盘错误 Dec 23 03:28:01 xhisdg rsyslogd: [origin software="rsyslogd" swVe ...
- OkGo3.0 --真实项目使用和二次封装(转)
转载:https://blog.csdn.net/jiushiwo12340/article/details/79011480 11.OkGo3.0真实项目使用和二次封装: ==== 11.OkG ...
- [UE4]虚幻引擎的C++环境安装
一.一般使用VS2017开发 二.需要勾选“使用C++的游戏开发”
- Galaxy2D游戏引擎常见问题解答
◆Galaxy2D游戏引擎开源吗? Galaxy2D游戏引擎不开源. ◆Galaxy2D相对HGE有何优点? Galaxy2D相对HGE有以下优点: (1)自带音频播放功能,HGE ...