首页 > 解决方案 > 了解暗网的 yolo.cfg 配置文件

问题描述

我在互联网上搜索过,但发现的信息很少,我不明白每个变量/值在 yolo 的.cfg文件中代表什么。所以我希望你们中的一些人能提供帮助,我不认为我是唯一一个遇到这个问题的人,所以如果有人知道 2 或 3 个变量,请发布它们,以便将来需要这些信息的人可以找到它们。

我想知道的主要是:

标签: yolodarknet

解决方案


这是我目前对一些变量的理解。但不一定正确:

[网]

  • 批处理:在前向传递中使用许多图像+标签来计算梯度并通过反向传播更新权重。
  • 细分:批次细分为这么多“块”。块的图像在 gpu 上并行运行。
  • 衰减:也许是一个减少权重以避免具有大值的术语。我猜出于稳定性原因。
  • 频道:在这张图片中更好地解释:

在左侧,我们有一个 4x4 像素的单个通道,重组层将大小减小到一半,然后在不同通道中创建具有相邻像素的 4 个通道。 数字

  • 动量:我猜新梯度是由动量* previous_gradient + (1-动量) * gradient_of_current_batch计算的。使梯度更稳定。
  • 亚当:使用亚当优化器?虽然对我不起作用
  • burn_in:对于前 x 个批次,慢慢增加学习率直到其最终值(您的learning_rate参数值)。使用它通过监控直到损失减少的值(在它开始发散之前)来决定学习率。
  • policy=steps:使用下面的steps和scales参数来调整训练过程中的学习率
  • steps=500,1000:在 500 和 1000 批次后调整学习率
  • scales=0.1,0.2:500之后,LR乘以0.1,1000之后再乘以0.2
  • 角度:通过旋转到这个角度来增强图像(以度为单位)

层数

  • 过滤器:一层中有多少个卷积核。
  • activation:激活函数,relu,leaky relu等。见src/activations.h
  • stopbackward:只在这一层进行反向传播。将其放在第一个 yolo 层之前的倒数第二个卷积层中,以仅训练其后面的层,例如在使用预训练权重时。
  • random:放入 yolo 层。如果设置为 1,则通过每隔几批将图像大小调整为不同大小来进行数据增强。用于概括对象大小。

许多事情或多或少是不言自明的(大小、步幅、batch_normalize、max_batches、宽度、高度)。如果您有更多问题,请随时发表评论。

再次,请记住,我对其中的许多都不是 100% 确定的。


推荐阅读