Как мне точно настроить предварительно подготовленную модель обнаружения объектов для пользовательского набора данных?

#python #tensorflow #deep-learning #object-detection

#python #тензорный поток #глубокое обучение #обнаружение объектов

Вопрос:

Я новичок в глубоком обучении, и я работаю над некоторой дипломной работой по обучению алгоритма обнаружения объектов для обнаружения сорняков в поле. Модели, с которыми я буду работать, находятся в зоопарке моделей обнаружения TensorFlow 2, и я планирую использовать такие алгоритмы, как (но не ограничиваясь ими) Faster R-CNN и EfficientDet. Для этой цели я использую TensorFlow 2.3.0 и python 3.8. Я нашел очень полезный учебник, показывающий, как обучить пользовательский набор данных, поэтому я следую ему. Чего я не понимаю, так это как именно я мог бы точно настроить модель, чтобы мои веса обновлялись для моего пользовательского набора данных. Мой рабочий процесс выглядит следующим образом:

  1. Помечайте изображения с помощью ограничивающих рамок Pascal VOC с помощью LabelImg.
  2. Создайте карту меток, указав классы, представленные в моей базе данных изображений (в моем случае 1).
  3. Создание файлов записей TensorFlow для обучающих и тестовых наборов данных
  4. Загрузите предварительно обученную модель из Модельного зоопарка.
  5. Измените параметры в модели pipeline.config на
  6. Начните обучение модели

Если вы случайно увидите файл .config, там есть раздел, указывающий расположение контрольных точек точной настройки в большинстве алгоритмов, как показано ниже:

 fine_tune_checkpoint: "pre-trained-models/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8/checkpoint/ckpt-0" # Path to checkpoint of pre-trained model
  num_steps: 25000
  startup_delay_steps: 0.0
  replicas_to_aggregate: 8
  max_number_of_boxes: 100
  unpad_groundtruth_tensors: false
  fine_tune_checkpoint_type: "detection" # Set this to "detection" since we want to be training the full detection model
  use_bfloat16: false # Set this to false if you are not training on a TPU
  fine_tune_checkpoint_version: V2
 

Является ли это правильной процедурой для точной настройки алгоритмов API обнаружения объектов TensorFlow для пользовательских данных? Я не могу найти никаких четких руководств по точной настройке этих алгоритмов, поэтому, если у кого-нибудь есть какие-либо руководства для этой цели, пожалуйста, дайте мне знать.

Комментарии:

1. Я бы рекомендовал взглянуть на примеры Google Colab .