首页 > 解决方案 > 对于 62 个类的对象检测模型,我应该采取多少训练样本?

问题描述

我正在尝试使用https://github.com/wizyoung/YOLOv3_TensorFlow为 62 个类训练一个 YOLOv3 模型。

我应该为每个班级抽取多少个样本。我使用的是 Nvidia GTX 1050Ti GPU,那么每个 300*300 大小的图像的批量大小应该是多少?80-20 训练/测试拆分是否理想?

标签: tensorflowdeep-learningobject-detectionyolo

解决方案


80-20% 的 train-test(val) 拆分取决于样本的数量,而不是类的数量。您拥有的数据越多,train 和 test(val) 之间的差异百分比就越大(对于数百万个样本数据,您可以有 95%---5% 的拆分)

通常,每个对象至少(最少)数量为 200 个 bounding_boxes_annotations。也就是说,你的每个类至少应该有 200 个注解。

1050Ti 只有 4GB VRAM。根据您的 image_size,您可以增加或减少 batch_size。但是,考虑到您没有太多可用的 VRAM,很可能(如果您有 OOM 问题,请将其减少到 1)对于 300x300 的图像,batch_size 为 2 将是您可以达到的最大值。


推荐阅读