ssd mobilenet v1: изменить макет карты объектов - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь перенастроить модель SSD для обнаружения одного класса пользовательских объектов (гитар). Я использую модель ssd_mobilenet_v1_coco с набором данных из 1000K предварительно помеченных изображений, загруженных из набора данных OpenImage.
Я имею в виду этот ответ , чтобы попытаться улучшить обнаружениемаленькие объекты на изображении.

Как и предполагалось, я хотел добавить дополнительную карту объектов ( Conv2d_5_pointwise ) к уже существующим, таким образом, имея в общей сложности 7 карт объектов. Итак, я изменил «models / ssd_mobilenet_v1_feature_extractor.py» следующим образом:

 feature_map_layout = {
        'from_layer': ['Conv2d_5_pointwise','Conv2d_11_pointwise', 'Conv2d_13_pointwise', '', '',
                       '', ''][:self._num_layers],
        'layer_depth': [-1, -1, -1, 512, 256, 256, 128][:self._num_layers],
        'use_explicit_padding': self._use_explicit_padding,
        'use_depthwise': self._use_depthwise,
    }

И, соответственно, я изменил num_layers в файл конфигурации на 7 тоже.


    anchor_generator {
      ssd_anchor_generator {
        num_layers: 7
        min_scale: 0.2
        max_scale: 0.95
        aspect_ratios: 1.0
        aspect_ratios: 2.0
        aspect_ratios: 0.5
        aspect_ratios: 3.0
        aspect_ratios: 0.3333
      }
    }

Однако, при попытке обучить модель с main_model.py, я получаю сообщение об ошибке


 File "/home/carlo/projects/tf_models/research/object_detection/core/anchor_generator.py", line 105, in generate
    raise ValueError('Number of feature maps is expected to equal the length '
ValueError: Number of feature maps is expected to equal the length of `num_anchors_per_location`.

Должен ли я что-то изменить, чтобы она работала? Спасибо!

...