我在互联网上搜索过,但发现这方面的信息很少,我不明白 yolo 中的每个变量/值代表什么.cfg
文件。所以我希望你们中的一些人能够提供帮助,我不认为我是唯一遇到这个问题的人,所以如果有人知道 2 或 3 个变量,请发布它们,以便将来需要此类信息的人可以找到它们。
我想知道的主要是:
- batch
细分
decay
momentum
channels
filters
激活
这是我目前对一些变量的理解。但不一定正确:
[net]
- 批处理:在前向传递中使用许多图像+标签来计算梯度并通过反向传播更新权重。
- 细分:批次被细分为多个“块”。块的图像在 GPU 上并行运行。
- 衰减:也许是一个减少权重以避免出现大值的术语。我猜是出于稳定性原因。
- 频道:在此图片中更好地解释:
On the left we have a single channel with 4x4 pixels, The reorganization layer reduces the size to half then creates 4 channels with adjacent pixels in different channels.
![figure](https://i.stack.imgur.com/238m5.png)
- 动量:我猜新的梯度是通过以下方式计算的momentum * 前一个梯度 + (1-momentum) * 当前批次的梯度。使梯度更加稳定。
- adam:使用 adam 优化器?但对我不起作用
- burn_in:对于前 x 批次,慢慢增加学习率直到其最终值(你的学习率参数值)。使用它来通过监视直到损失减少到什么值(在开始发散之前)来决定学习率。
- policy=steps:使用下面的steps和scales参数来调整训练过程中的学习率
- steps=500,1000:在500和1000个批次后调整学习率
- scales=0.1,0.2:500之后,将LR乘以0.1,然后在1000之后再次乘以0.2
- 角度:通过旋转至此角度(以度为单位)来增强图像
layers
- 过滤器:一层中有多少个卷积核。
- 激活:激活函数,relu,leaky relu等。参见src/activations.h
- stopbackward:仅进行反向传播直到这一层。将其放在第一个 yolo 层之前的泛终极卷积层中,以仅训练其后面的层,例如使用预训练权重时。
- random:放入 yolo 层。如果设置为 1,则通过每隔几个批次将图像大小调整为不同大小来进行数据增强。用于概括对象大小。
许多事情或多或少都是不言自明的(大小、步幅、batch_normalize、max_batches、宽度、高度)。如果您还有更多问题,请随时发表评论。
再次请记住,我对其中许多内容并不能 100% 确定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)