Поделиться через


Гиперпараметры для задач компьютерного зрения в автоматизированном машинном обучении (версия 1)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

Сведения о гиперпараметрах, используемых в задачах компьютерного зрения в автоматизированных экспериментах машинного обучения.

Благодаря поддержке задач компьютерного зрения можно управлять алгоритмом модели и гиперпараметрами sweep. Эти алгоритмы модели и гиперпараметры передаются в качестве пространства параметров для очистки. Хотя многие из показанных гиперпараметров не зависят от модели, существуют экземпляры, в которых гиперпараметры зависят от конкретной задачи или конкретной модели.

Гиперпараметры, зависящие от модели

В этой таблице перечислены гиперпараметры, относящиеся к алгоритму yolov5.

Наименование параметра Description По умолч.
validation_metric_type Метод вычисления метрик, который используется для расчета проверочных метрик.
Должно быть указано значение none, coco, voc или coco_voc.
voc
validation_iou_threshold Пороговое значение IOU для сопоставления полей при вычислении проверочных метрик.
Должно быть значением типа float в диапазоне [0,1, 1].
0,5
img_size Размер изображения для обучения и проверки.
Принимаются только положительные целые числа.

Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
640
model_size Размер модели.
Должно быть указано значение small, medium, large или xlarge.

Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
medium
multi_scale Включение многомасштабного изображения путем изменения размера изображения на +/- 50 %
Значение должно быть равно 0 или 1.

Примечание. Если объема памяти на видеокарте недостаточно, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
0
box_score_thresh Во время вывода возвращают только предложения со значением оценки больше box_score_thresh. Оценка представляет собой произведение оценки objectness и вероятности классификации.
Должно быть значением типа float в диапазоне [0, 1].
0,1
nms_iou_thresh Пороговое значение IOU, используемое при выводе в ходе постобработки с подавлением немаксимумов.
Должно быть значением типа float в диапазоне [0, 1].
0,5
tile_grid_size Размер сетки, используемый для мозаичного заполнения каждого изображения.
Примечание. Чтобы включить алгоритм обнаружения небольших объектов параметр tile_grid_size не должен иметь значение None
Кортеж из двух целых чисел, передаваемых в виде строки. Пример: --tile_grid_size "(3, 2)"
Нет по умолчанию
tile_overlap_ratio Коэффициент перекрытия смежных фрагментов в каждом измерении.
Должно быть значением типа float в диапазоне [0, 1)
0.25
tile_predictions_nms_thresh Пороговое значение IOU, используемое для выполнения поиска немаксимумов (NMS) при объединении прогнозов из фрагментов и изображения. Используется при проверке или выводе.
Должно быть значением типа float в диапазоне [0, 1]
0.25

В этой таблице перечислены гиперпараметры, относящиеся к maskrcnn_*для сегментации экземпляров во время вывода.

Наименование параметра Description По умолч.
mask_pixel_score_threshold Граница отсечения, позволяющая определить, нужно ли рассматривать пиксел как часть маски объект. 0,5
max_number_of_polygon_points Максимальное число пар координат (x, y) в многоугольнике после преобразования из маски. 100
export_as_image Экспорт масок как изображений. False
image_type Тип изображения, в который выполняется экспорт маски (возможные значения: JPG, PNG, BMP). JPG

Гиперпараметры, не зависящие от модели

В следующей таблице описываются гиперпараметры, не зависящие от модели.

Наименование параметра Description По умолч.
number_of_epochs Число эпох обучения.
Принимаются только положительные целые числа.
15
(кроме yolov5: 30)
training_batch_size Размер пакета, используемого для обучения.
Принимаются только положительные целые числа.
Многоклассовая и многоэтапная метка: 78
(за исключением вариантов vit-variants:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Обнаружение объектов: 2
(за исключением yolov5: 16)

Сегментация экземпляра: 2

Примечание. Значения по умолчанию — это самый большой размер пакета, который можно использовать в 12 ГиБ памяти GPU.
validation_batch_size Размер пакета, используемого для проверки.
Принимаются только положительные целые числа.
Многоклассовая и многоэтапная метка: 78
(за исключением вариантов vit-variants:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Обнаружение объектов: 1
(за исключением yolov5: 16)

Сегментация экземпляра: 1

Примечание. Значения по умолчанию — это самый большой размер пакета, который можно использовать в 12 ГиБ памяти GPU.
grad_accumulation_step Вычисление градиента означает выполнение настроенного числа grad_accumulation_step без обновления весов модели при накоплении градиентов этих шагов, а затем использование накопленных градиентов для расчета новых весовых коэффициентов.
Принимаются только положительные целые числа.
1
early_stopping Включить алгоритм раннего прекращения логики во время обучения.
Значение должно быть равно 0 или 1.
1
early_stopping_patience Минимальное число эпох или проверочных оценок проверки
без улучшения основной метрики до остановки выполнения.
Принимаются только положительные целые числа.
5
early_stopping_delay Минимальное число эпох или проверочных оценок проверки для ожидания,
после которого начинается отслеживание основной метрики для раннего останова.
Принимаются только положительные целые числа.
5
learning_rate Начальная скорость обучения.
Должно быть значением типа float в диапазоне [0, 1].
Мультикласс: 0.01
(за исключением вариантов vit-variants:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Multi-label: 0.035
(кроме vit-variants:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Обнаружение объектов: 0.005
(за исключением yolov5: 0.01)

Сегментация экземпляров: 0,005
lr_scheduler Тип планировщика скорости обучения.
Должно быть warmup_cosine или step.
warmup_cosine
step_lr_gamma Значение гаммы, когда используется планировщик скорости обучения step.
Должно быть значением типа float в диапазоне [0, 1].
0,5
step_lr_step_size Значение шага, когда используется планировщик скорости обучения step.
Принимаются только положительные целые числа.
5
warmup_cosine_lr_cycles Значение цикла косинуса, когда используется планировщик скорости обучения warmup_cosine.
Должно быть значением типа float в диапазоне [0, 1].
0,45 %
warmup_cosine_lr_warmup_epochs Значение числа эпох прогрева, когда используется планировщик скорости обучения warmup_cosine.
Принимаются только положительные целые числа.
2
optimizer Тип оптимизатора.
Должно иметь одно из следующих значений: sgd, adam, adamw.
sgd
momentum Значение момента, когда используется оптимизатор sgd.
Должно быть значением типа float в диапазоне [0, 1].
0,9
weight_decay Значение сокращение веса, если используется оптимизатор sgd, adam или adamw.
Должно быть значением типа float в диапазоне [0, 1].
1e-4
nesterov Включить nesterov, если используется оптимизатор sgd.
Значение должно быть равно 0 или 1.
1
beta1 Значение равно beta1, если используется оптимизатор adam или adamw.
Должно быть значением типа float в диапазоне [0, 1].
0,9
beta2 Значение равно beta2, если используется оптимизатор adam или adamw.
Должно быть значением типа float в диапазоне [0, 1].
0,999
amsgrad Включить amsgrad, если используется оптимизатор adam или adamw.
Значение должно быть равно 0 или 1.
0
evaluation_frequency Частота оценки набора данных проверки для получения оценок метрик.
Принимаются только положительные целые числа.
1
checkpoint_frequency Частота сохранения контрольных точек модели.
Принимаются только положительные целые числа.
Контрольная точка в эпохе с лучшей основной метрикой при проверке.
checkpoint_run_id Идентификатор выполнения эксперимента, у которого есть контрольная точка предварительного обучения для добавочного обучения. значение по умолчанию отсутствует
checkpoint_dataset_id Идентификатор FileDataset, содержащий контрольные точки предварительного обучения для добавочного обучения. Передавайте checkpoint_filename, а также checkpoint_dataset_id. значение по умолчанию отсутствует
checkpoint_filename Имя файла контрольной точки предварительного обучения в FileDataset для добавочного обучения. Передавайте checkpoint_dataset_id, а также checkpoint_filename. значение по умолчанию отсутствует
layers_to_freeze Количество слоев, которое необходимо заморозить в модели. Например, если передать 2 в качестве значения seresnext, то будут заморожены layer0 и Layer1, которые ссылаются на следующие сведения о поддерживаемых слоях модели.
Принимаются только положительные целые числа.

'resnet': [('conv1.', 'bn1.'), 'layer1.', 'layer2.', 'layer3.', 'layer4.'],
'mobilenetv2': ['features.0.', 'features.1.', 'features.2.', 'features.3.', 'features.4.', 'features.5.', 'features.6.', 'features.7.', 'features.8.', 'features.9.', 'features.10.', 'features.11.', 'features.12.', 'features.13.', 'features.14.', 'features.15.', 'features.16.', 'features.17.', 'features.18.'],
'seresnext': ['layer0.', 'layer1.', 'layer2.', 'layer3.', 'layer4.'],
'vit': ['patch_embed', 'blocks.0.', 'blocks.1.', 'blocks.2.', 'blocks.3.', 'blocks.4.', 'blocks.5.', 'blocks.6.','blocks.7.', 'blocks.8.', 'blocks.9.', 'blocks.10.', 'blocks.11.'],
'yolov5_backbone': ['model.0.', 'model.1.', 'model.2.', 'model.3.', 'model.4.','model.5.', 'model.6.', 'model.7.', 'model.8.', 'model.9.'],
'resnet_backbone': ['backbone.body.conv1.', 'backbone.body.layer1.', 'backbone.body.layer2.','backbone.body.layer3.', 'backbone.body.layer4.']
значение по умолчанию отсутствует

Гиперпараметры для классификации изображений (с несколькими классами и с несколькими метками)

В следующей таблице перечислены гиперпараметры, используемые в задача классификации изображений (с несколькими классами и несколькими метками).

Наименование параметра Description По умолч.
weighted_loss 0 для отсутствия взвешенной ошибки.
1 для взвешаемой потери с sqrt. (class_weights)
2 для расчета взвешенной ошибки с помощью class_weights.
Значение должно быть 0 или 1 или 2.
0
valid_resize_size
  • Размер, до которого необходимо изменить изображение перед обрезкой для набора данных проверки.
  • Принимаются только положительные целые числа.

    Примечания:
  • seresnext не принимает произвольный размер.
  • Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
  • 256
    valid_crop_size
  • Размер обрезанных изображений, подаваемых в нейронную сеть для набора данных для проверки.
  • Принимаются только положительные целые числа.

    Примечания:
  • seresnext не принимает произвольный размер.
  • Варианты ViT должны иметь одинаковые значения valid_crop_size и train_crop_size.
  • Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
  • 224
    train_crop_size
  • Размер обрезанных изображений, подаваемых в нейронную сеть в качестве набора данных, предназначенного для обучения.
  • Принимаются только положительные целые числа.

    Примечания:
  • seresnext не принимает произвольный размер.
  • Варианты ViT должны иметь одинаковые значения valid_crop_size и train_crop_size.
  • Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
  • 224

    Гиперпараметры, относящиеся к задачам обнаружения объектов и задачам сегментации экземпляров

    Следующие гиперпараметры предназначены для задач обнаружения объектов и сегментации экземпляров.

    Предупреждение

    Эти параметры не поддерживаются алгоритмом yolov5. Поддерживаемые гиперпараметры yolov5см. в разделе параметры, зависящие от модели.

    Наименование параметра Description По умолч.
    validation_metric_type Метод вычисления метрик, который используется для расчета проверочных метрик.
    Должно быть указано значение none, coco, voc или coco_voc.
    voc
    validation_iou_threshold Пороговое значение IOU для сопоставления полей при вычислении проверочных метрик.
    Должно быть значением типа float в диапазоне [0,1, 1].
    0,5
    min_size Минимальный размер повторно масштабируемого изображения перед подачей в основную сеть.
    Принимаются только положительные целые числа.

    Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
    600
    max_size Максимальный размер повторно масштабируемого изображения перед подачей в основную сеть.
    Принимаются только положительные целые числа.

    Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти".
    1333
    box_score_thresh Во время вывода возвращают только предложения с показателем классификации больше box_score_thresh.
    Должно быть значением типа float в диапазоне [0, 1].
    0,3
    nms_iou_thresh Пороговое значение метрики IOU (Пересечение над объединением), используемое в методе подавления немаксимумов (NMS) для prediction head. Используется во время вывода.
    Должно быть значением типа float в диапазоне [0, 1].
    0,5
    box_detections_per_img Максимальное число обнаружений на каждое изображение для всех классов.
    Принимаются только положительные целые числа.
    100
    tile_grid_size Размер сетки, используемый для мозаичного заполнения каждого изображения.
    Примечание. Чтобы включить алгоритм обнаружения небольших объектов параметр tile_grid_size не должен иметь значение None
    Кортеж из двух целых чисел, передаваемых в виде строки. Пример: --tile_grid_size "(3, 2)"
    Нет по умолчанию
    tile_overlap_ratio Коэффициент перекрытия смежных фрагментов в каждом измерении.
    Должно быть значением типа float в диапазоне [0, 1)
    0.25
    tile_predictions_nms_thresh Пороговое значение IOU, используемое для выполнения поиска немаксимумов (NMS) при объединении прогнозов из фрагментов и изображения. Используется при проверке или выводе.
    Должно быть значением типа float в диапазоне [0, 1]
    0.25

    Следующие шаги