yolov4..cfg:增加细分参数结果
yolov4..cfg : increasing subdivisions parameter consequences
我正在尝试使用 Darknet 框架和 Yolov4 训练自定义数据集。我建立了自己的数据集,但在 google colab 中收到内存不足消息。它还说“尝试将细分更改为 64”或类似内容。
我搜索了主要 .cfg 参数的含义,例如批处理、细分等,我可以理解增加细分数意味着在处理之前拆分成更小的“图片”,从而避免致命的“CUDA 内存不足” ”。确实切换到 64 运行良好。现在我在任何地方都找不到最终问题的答案:这样做是否会“削弱”最终的权重文件和准确性?更具体地说,对最终结果的影响是什么?如果我们抛开训练时间(因为要训练的细分更多,训练时间肯定会增加),准确率如何?
换句话说:如果我们使用完全相同的数据集并使用 8 个细分进行训练,然后使用 64 个细分进行相同的操作,best_weight 文件是否相同?对象检测成功率会相同还是更差?
谢谢。
首先阅读评论
假设你有 100 个批次。
- 批量大小 = 64
- 细分=8
- 它将把你的批次分成 = 64/8 => 8
- 现在它将在 8 个划分的部分中一个一个地加载和工作到 RAM 中,因为 RAM 容量低,您可以根据 ram 容量更改参数。
您还可以减少批量大小,因此它会在 ram 中占用较低的 space。
它不会对数据集图像做任何事情。
它只是拆分无法加载到RAM中的大批量大小,因此分成小块。
我正在尝试使用 Darknet 框架和 Yolov4 训练自定义数据集。我建立了自己的数据集,但在 google colab 中收到内存不足消息。它还说“尝试将细分更改为 64”或类似内容。 我搜索了主要 .cfg 参数的含义,例如批处理、细分等,我可以理解增加细分数意味着在处理之前拆分成更小的“图片”,从而避免致命的“CUDA 内存不足” ”。确实切换到 64 运行良好。现在我在任何地方都找不到最终问题的答案:这样做是否会“削弱”最终的权重文件和准确性?更具体地说,对最终结果的影响是什么?如果我们抛开训练时间(因为要训练的细分更多,训练时间肯定会增加),准确率如何?
换句话说:如果我们使用完全相同的数据集并使用 8 个细分进行训练,然后使用 64 个细分进行相同的操作,best_weight 文件是否相同?对象检测成功率会相同还是更差? 谢谢。
首先阅读评论 假设你有 100 个批次。
- 批量大小 = 64
- 细分=8
- 它将把你的批次分成 = 64/8 => 8
- 现在它将在 8 个划分的部分中一个一个地加载和工作到 RAM 中,因为 RAM 容量低,您可以根据 ram 容量更改参数。 您还可以减少批量大小,因此它会在 ram 中占用较低的 space。 它不会对数据集图像做任何事情。 它只是拆分无法加载到RAM中的大批量大小,因此分成小块。