yolov2-tiny-voc.cfg 参数解析
一、参数解析
[net]
batch=64 # number of images pushed with a forward pass through the network
subdivisions=8 # 源码中的图片数量int imgs = net.batch * net.subdivisions * ngpus,按subdivisions大小分批进行训练
height=416 # height of input image
width=416 # width of input image
channels=3 # channel of input image
momentum=0.9 # CNN-梯度下降法中一种常用的加速技术
decay=0.0005 # CNN-防止过拟合 # 对于每次迭代训练,YOLOv2会基于角度(angle),饱和度(saturation),曝光(exposure),色调(hue)产生新的训练图片
angle=0 # 图片角度变化,单位为度,假如angle=5,就是生成新图片的时候随机旋转-5~5度
saturation = 1.5 # 饱和度变化大小,1到1.5倍
exposure = 1.5 # 曝光变化大小,1到1.5倍
hue=.1 # 色调变化范围,-0.1到0.1 learning_rate=0.0001 # 学习率
max_batches = 45000 # 最大迭代次数
policy=steps # 调整学习率的policy:CONSTANT, STEP, EXP, POLY,STEPS, SIG, RANDOM
steps=100,25000,35000 # 根据batch_num调整学习率,若steps=100,25000,35000,则在迭代100次,25000次,35000次时学习率发生变化,该参数与policy中的steps对应
scales=10,.1,.1 # 相对于当前学习率的变化比率,累计相乘,与steps中的参数个数保持一致 [convolutional]
batch_normalize=1 # 是否做BN-batch_normalize
filters=32
size=3
stride=1
pad=1
activation=leaky
# 激活函数-activation 包括logistic,loggy,relu,elu,relie,plse,hardtan,lhtan,linear,ramp,leaky,tanh,stair. [maxpool]
size=2
stride=2 [convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky [maxpool]
size=2
stride=2 [convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky [maxpool]
size=2
stride=2 [convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky [maxpool]
size=2
stride=2 [convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky [maxpool]
size=2
stride=2 [convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=512
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=512
size=1
stride=1
pad=1
activation=leaky [convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky ####### [convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=1024
activation=leaky [convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=1024
activation=leaky # the route layer is to bring finer grained features in from earlier in the network
[route]
layers=-9 # the reorg layer is to make these features match the feature map size at the later layer;
# The end feature map is 13x13, the feature map from earlier is 26x26x512.
# The reorg layer maps the 26x26x512 feature map onto a 13x13x2048 feature map so that it can be concate_nated with the feature maps at 13x13 resolution.
[reorg]
stride=2 [route]
layers=-1,-3 [convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=1024
activation=leaky [convolutional]
size=1
stride=1
pad=1
filters=125
activation=linear [region]
# anchors: 预测框的初始宽高,第一个是w,第二个是h,总数量是num*2.
# YOLOv2作者说anchors是使用K-MEANS获得,其实就是计算出哪种类型的框比较多,可以增加收敛速度,如果不设置anchors,默认是0.5.
anchors = 1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52
bias_match=1 # 如果为1,计算best iou时,预测宽高强制与anchors一致
classes=20 # 类别数量
coords=4 # BoundingBox的tx,ty,tw,th,tx与ty是相对于左上角的grid,同时是当前grid的比例,tw与th是宽度与高度取对数
num=5 # 每个grid预测的BoundingBox个数
softmax=1 # 如果为1,使用softmax
jitter=.2 # 利用数据抖动产生更多数据抑制过拟合.YOLOv2中使用的是crop,filp,以及net层的angle,flip是随机的,crop就是jitter的参数,tiny-yolo-voc.cfg中jitter=.2,就是在0~0.2中进行crop.
rescore=1 # 决定使用哪种方式计算IOU的误差,为1时,使用当前best iou计算,为0时,使用1计算 # *_scale是YOLOv1论文中cost function的权重,哪一个更大,每一次更新权重的时候,对应方面的权重更新相对比重更大
object_scale=5
noobject_scale=1
class_scale=1
coord_scale=1 absolute=1
thresh = .6 # 决定是否需要计算IOU误差的参数,大于thresh,IOU误差不会夹在cost function中
random=0 # 如果为1每次迭代图片大小随机从320到608,步长为32,如果为0,每次训练大小与输入大小一致
二、训练log中各参数的意义
Region Avg IOU:平均的IOU,代表预测的bounding box和ground truth的交集与并集之比,期望该值趋近于1。
Class:是标注物体的概率,期望该值趋近于1.
Obj:期望该值趋近于1.
No Obj:期望该值越来越小但不为零.
Avg Recall:期望该值趋近1
avg:平均损失,期望该值趋近于0
mAP定义及相关概念
mAP: mean Average Precision, 即各类别AP的平均值
AP: PR曲线下面积,后文会详细讲解
PR曲线: Precision-Recall曲线
Precision: TP / (TP + FP)
Recall: TP / (TP + FN)
TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
FN: 没有检测到的GT的数量
转自:
---------------------
作者:_John_Tian_ yolo-voc.2.0.cfg 参数解析
来源:CSDN
原文:https://blog.csdn.net/tianzhaixing2013/article/details/79269275
版权声明:本文为博主原创文章,转载请附上博文链接!
yolov2-tiny-voc.cfg 参数解析的更多相关文章
- Zookeeper + Hadoop2.6 集群HA + spark1.6完整搭建与所有参数解析
废话就不多说了,直接开始啦~ 安装环境变量: 使用linx下的解压软件,解压找到里面的install 或者 ls 运行这个进行安装 yum install gcc yum install gcc-c+ ...
- Hi3559AV100 NNIE开发(4)mobilefacenet.cfg参数配置挖坑解决与SVP_NNIE_Cnn实现分析
前面随笔给出了NNIE开发的基本知识,下面几篇随笔将着重于Mobilefacenet NNIE开发,实现mobilefacenet.wk的chip版本,并在Hi3559AV100上实现mobilefa ...
- 从零搭建Pytorch模型教程(四)编写训练过程--参数解析
前言 训练过程主要是指编写train.py文件,其中包括参数的解析.训练日志的配置.设置随机数种子.classdataset的初始化.网络的初始化.学习率的设置.损失函数的设置.优化方式的设置. ...
- 写个C#命令行参数解析的小工具
最近测试工作做的比较多因此时常要创建一些控制台类型的应用程序.因为程序有不同的参数开关,需要在程序启动的时候通过命令行来给程序传递各种开关和参数.直接操作args有些不方便,所以就写了个解析参数的小工 ...
- Python--命令行参数解析Demo
写没有操作界面的程序时,最讨厌的就是参数解析问题,尤其是很多参数那种,下面是一个小Demo,拿出来与各位分享: # -*- coding:utf8 -*- import os import datet ...
- Node基础:url查询参数解析之querystring
模块概述 在nodejs中,提供了querystring这个模块,用来做url查询参数的解析,使用非常简单. 模块总共有四个方法,绝大部分时,我们只会用到 .parse(). .stringify() ...
- argparse - 命令行选项与参数解析(转)
argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:young ...
- 一步一步自定义SpringMVC参数解析器
随心所欲,自定义参数解析器绑定数据. 题图:from Zoommy 干货 SpringMVC解析器用于解析request请求参数并绑定数据到Controller的入参上. 自定义一个参数解析器需要实现 ...
- /proc/sys/ 下内核参数解析
http://blog.itpub.net/15480802/viewspace-753819/ http://blog.itpub.net/15480802/viewspace-753757/ ht ...
随机推荐
- 数组与字符串三(Cocos2d-x 3.x _Array容器)
"程序=数据结构+算法" 在面向对象的语言中,诸如数组.堆栈.队列等的结构都被封装成了特定的类,按照特定数据结构的算法设计起来,这就是容器类. Cocos2d-x中,能使用的容器类 ...
- Maven遇到github引用的项目有bug怎么办?
Maven遇到github引用的项目有bug,自己想要修复/作者已经修复了但是还没有版本出来. 一个maven的做法 git clone 该项目(可能直接下载zip比较快). 在项目中mvn inst ...
- 第三个Sprint冲刺第八天(燃尽图)
- 小学四则运算APP 第一个冲刺 第七天
团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第一次冲刺阶段时间:11.17~11.27 本次发布的是完成的功能一: 程序代码: MainActivity代码: import andr ...
- Maven的课堂笔记3
8 仓库管理 仓库可以分为三种:1.本地仓库(本机).2.私服(公司局域网内的maven服务器).3.中央仓库(互联上,例如 struts2官网,或者hibernate官网) 可以根据maven坐标定 ...
- PAT 1018 锤子剪刀布
https://pintia.cn/problem-sets/994805260223102976/problems/994805304020025344 大家应该都会玩“锤子剪刀布”的游戏:两人同时 ...
- [日常工作]Oracle12cr2在日常工作中遇到的不兼容的问题
Oracle12c 数据库GS实例时需要使用新驱动,避免制单出现获取不到正确凭证编号内码的问题. Oracle12c 会产生大量的隐藏表,部分ddl语句会报错. Oracle12c 删除了VM_con ...
- [日常工作]vCenter下虚拟机设置与宿主机时间同步的方法
1. ESXi 能够实现CPU超售 同事开启多与CPU个数的虚拟机 不通的虚拟机采用了时间分片的处理, 所以有时候虚拟机内的时间可能会比宿主机的时间过的更慢, 越来越久之后虚拟机的时间就会比较离谱了. ...
- ComboBox中如何嵌套TreeView控件
在ComboBox中嵌套TreeView控件,有时候我们在设计界面的时候,由于界面设计的需要,我们需要将TreeView控件嵌套在ComboBox中,因为TreeView控件实在是太占用地方了,要 ...
- linux 下端口close_wait 过多问题
情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了 ...