了解darknet的yolo.cfg配置文件

2024-05-20

我在互联网上搜索过,但发现这方面的信息很少,我不明白 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

  • 动量:我猜新的梯度是通过以下方式计算的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(使用前将#替换为@)

了解darknet的yolo.cfg配置文件 的相关文章

随机推荐