如何选择超参数来在 AWS sagemaker 上训练良好的对象检测模型?



使用AWS sagemaker algorithm进行对象检测 .

我创建了带和不带自动调优的对象检测模型。其中一些具有良好的mAP,有些则没有,当我在新图片上测试它时,并非所有对象都可以检测到。

我应该选择哪种parametershyperparameters才能获得最佳模型?

另外,你认为我需要多少张照片?

提前感谢!

目前,我正试图检测立顿茶(方盒)。我有5种不同的茶(所以5个类)和500张图片。每班100分。 我将数据拆分为 90% 用于训练,10% 用于验证。然后我会用新图片运行测试。

tuned_hyperparameters_ranges = {
'learning_rate': ContinuousParameter(0.001, 0.05),
'momentum': ContinuousParameter(0.4, 0.99),
}

我需要它至少有 90% 的检测。

每个类 100 张图像听起来是一个合理的数量。我建议:

  1. 尝试将base_network设置为resnet-50如此 gluoncv 模型动物园可视化所示,resnet50 主干在非常一般的 COCO 检测任务中比 vgg16 主干提供更好的性能
  2. 通过设置使用迁移学习use_pretrained_model=1
  3. 在训练作业指标中检查验证 mAP 纪元的外观。如果训练曲线没有变平,请考虑通过增加epochs来延长训练时间
  4. 使用学习率计划逐步减少权重更新的粒度。这可以采取多种形式,但首先,您可以将学习率除以 10 每 1/3 的 epoch 计数。例如,如果您有 60 个纪元,请设置lr_scheduler_step='20,40'lr_scheduler_factor=0.1

然后,您可以至少对learning_rate运行超参数优化,并mini_batch_size

如果这仍然不令人满意,请考虑收集更多数据,或者根据每个选项的成本,使用自定义代码实现不同的检测器。SageMaker Detector 是一种 SSD,具有适当技巧的替代架构(如 Faster-RCNN 或 YoloV3)可能会提供更好的性能。您可以在 python 中找到出色的检测器架构,以便在上面链接的模型动物园的 MXNet 容器中实现。不过,这将比使用内置的 SageMaker 检测器付出更多的努力,所以我会首先尝试上面的 4 个选项

相关内容

  • 没有找到相关文章

最新更新