yolo - 了解暗网的 yolo.cfg 配置文件
问题描述
我在互联网上搜索过,但发现的信息很少,我不明白每个变量/值在 yolo 的.cfg
文件中代表什么。所以我希望你们中的一些人能提供帮助,我不认为我是唯一一个遇到这个问题的人,所以如果有人知道 2 或 3 个变量,请发布它们,以便将来需要这些信息的人可以找到它们。
我想知道的主要是:
- 批
细分
衰变
势头
渠道
过滤器
激活
解决方案
这是我目前对一些变量的理解。但不一定正确:
[网]
- 批处理:在前向传递中使用许多图像+标签来计算梯度并通过反向传播更新权重。
- 细分:批次细分为这么多“块”。块的图像在 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% 确定的。
推荐阅读
- scala - Scala多元数组总和
- attributes - 将代理放在与代理的变量值相同的补丁上
- php - 我正在尝试使用不同的输入从我的数据库中搜索数据并保持所有会话
- arrays - 如何通过输入数组的大小来创建一个输出躺下沙漏的函数
- nginx - 对于 Web 应用程序,我是否需要 Kubernetes pod 中的 nginx 容器?
- python - 如何按日期过滤日期时间字段?
- maven - Maven 故障安全系统PropertyVariables
- ios - iOS应用程序在后台运行180秒后崩溃
- python - 如何在 Python 中递归地包含 XML 文件,跟踪原始文件和行?
- react-native - 如何将图标固定在右侧?