【问题标题】:How to choose hyperparameters to train a good object detection model on AWS sagemaker?如何在 AWS sagemaker 上选择超参数来训练好的对象检测模型?
【发布时间】:2019-06-18 03:12:46
【问题描述】:

使用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% 的检测率。

【问题讨论】:

    标签: python amazon-web-services machine-learning object-detection amazon-sagemaker


    【解决方案1】:

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

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

    然后您至少可以在learning_ratemini_batch_size 上运行超参数调整

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 2019-09-20
      • 2019-05-24
      • 1970-01-01
      • 2020-06-29
      • 2020-02-08
      相关资源
      最近更新 更多