Гиперпараметры для задач компьютерного зрения в автоматизированном машинном обучении
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)
Сведения о гиперпараметрах, используемых в задачах компьютерного зрения в автоматизированных экспериментах машинного обучения.
С поддержкой задач компьютерного зрения вы можете управлять архитектурой модели и выполнять гиперпараметры. Эти архитектуры модели и гиперпараметры передаются в качестве пространства параметров для очистки. Хотя многие из показанных гиперпараметров не зависят от модели, существуют экземпляры, в которых гиперпараметры зависят от конкретной задачи или конкретной модели.
Гиперпараметры, зависящие от модели
В этой таблице перечислены гиперпараметры, относящиеся к архитектуре yolov5
.
Наименование параметра | Description | По умолч. |
---|---|---|
validation_metric_type |
Метод вычисления метрик, который используется для расчета проверочных метрик. Должно быть указано значение none , coco , voc или coco_voc . |
voc |
validation_iou_threshold |
Пороговое значение IOU для сопоставления полей при вычислении проверочных метрик. Должно быть значением типа float в диапазоне [0,1, 1]. |
0,5 |
image_size |
Размер изображения для обучения и проверки. Принимаются только положительные целые числа. Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти". |
640 |
model_size |
Размер модели. Должно быть указано значение small , medium , large или extra_large . Примечание. Если размер слишком большой, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти". |
medium |
multi_scale |
Включение многомасштабного изображения путем изменения размера изображения на +/- 50 % Значение должно быть равно 0 или 1. Примечание. Если объема памяти на видеокарте недостаточно, в ходе обучения может возникать ошибка CUDA "Недостаточно памяти". |
0 |
box_score_threshold |
Во время вывода возвращают только предложения со значением оценки больше box_score_threshold . Оценка представляет собой произведение оценки objectness и вероятности классификации. Должно быть значением типа float в диапазоне [0, 1]. |
0,1 |
nms_iou_threshold |
Пороговое значение IOU, используемое при выводе в ходе постобработки с подавлением немаксимумов. Должно быть значением типа float в диапазоне [0, 1]. |
0,5 |
tile_grid_size |
Размер сетки, используемый для мозаичного заполнения каждого изображения. Примечание. Чтобы включить алгоритм обнаружения небольших объектов параметр tile_grid_size не должен иметь значение None Должен передаваться в виде строки в формате 3x2. Пример: --tile_grid_size '3x2' |
Нет по умолчанию |
tile_overlap_ratio |
Коэффициент перекрытия смежных фрагментов в каждом измерении. Должно быть значением типа float в диапазоне [0, 1) |
0.25 |
tile_predictions_nms_threshold |
Пороговое значение 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. |
gradient_accumulation_step |
Вычисление градиента означает выполнение настроенного числа gradient_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.0125vitb16r224 : 0.0125vitl16r224 : 0.001) Multi-label: 0.035 (кроме vit-variants: vits16r224 : 0.025vitb16r224 : 0.025 vitl16r224 : 0.002) Обнаружение объектов: 0.005 (за исключением yolov5 : 0.01) Сегментация экземпляров: 0,005 |
learning_rate_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 |
ams_gradient |
Включить ams_gradient , если используется оптимизатор adam или adamw .Значение должно быть равно 0 или 1. |
0 |
evaluation_frequency |
Частота оценки набора данных проверки для получения оценок метрик. Принимаются только положительные целые числа. |
1 |
checkpoint_frequency |
Частота сохранения контрольных точек модели. Принимаются только положительные целые числа. |
Контрольная точка в эпохе с лучшей основной метрикой при проверке. |
checkpoint_run_id |
Идентификатор выполнения эксперимента, у которого есть контрольная точка предварительного обучения для добавочного обучения. | значение по умолчанию отсутствует |
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' ['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.'] : ['layer0.', 'layer1.', 'layer2.', 'layer3.', 'layer4.'] 'vit' * * '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 | По умолч. |
---|---|---|
model_name |
Имя модели, используемое для задачи классификации изображений. Должен быть одним из mobilenetv2 , resnet18 , vitb16r224 vitl16r224 resnet34 resnet50 resnet101 resnet152 resnest50 resnest101 seresnext vits16r224 |
seresnext |
weighted_loss |
- 0 для не взвешаемой потери. - 1 для взвешаемой потери с sqrt. (class_weights) - 2 для взвешаемой потери с class_weights. — должно быть 0 или 1 или 2. |
0 |
validation_resize_size |
— размер изображения, для которого необходимо изменить размер перед обрезкой для набора данных проверки. - Должно быть положительным целым числом. Примечания: - seresnext не принимает произвольный размер. — Учебный запуск может попасть в OOM CUDA, если размер слишком велик. |
256 |
validation_crop_size |
— Размер обрезки изображения, входной в нейронную сеть для проверки набора данных. - Должно быть положительным целым числом. Примечания: - seresnext не принимает произвольный размер. - Варианты ViT должны иметь одинаковые значения validation_crop_size и training_crop_size . — Учебный запуск может попасть в OOM CUDA, если размер слишком велик. |
224 |
training_crop_size |
— Размер обрезки изображения, входной в нейронную сеть для обучения набора данных. - Должно быть положительным целым числом. Примечания: - seresnext не принимает произвольный размер. - Варианты ViT должны иметь одинаковые значения validation_crop_size и training_crop_size . — Учебный запуск может попасть в OOM CUDA, если размер слишком велик. |
224 |
Гиперпараметры, относящиеся к задачам обнаружения объектов и задачам сегментации экземпляров
Следующие гиперпараметры предназначены для задач обнаружения объектов и сегментации экземпляров.
Предупреждение
Эти параметры не поддерживаются архитектурой yolov5
. Поддерживаемые гиперпараметры yolov5
см. в разделе параметры, зависящие от модели.
Наименование параметра | Description | По умолч. |
---|---|---|
model_name |
Имя модели, используемое для задачи классификации изображений. — Для задачи обнаружения объектов должна быть одна из yolov5 , fasterrcnn_resnet18_fpn , fasterrcnn_resnet34_fpn , fasterrcnn_resnet50_fpn , fasterrcnn_resnet101_fpn , fasterrcnn_resnet152_fpn . retinanet_resnet50_fpn — Для задачи сегментации экземпляров должна быть одна из maskrcnn_resnet18_fpn , , maskrcnn_resnet34_fpn , maskrcnn_resnet101_fpn maskrcnn_resnet50_fpn maskrcnn_resnet152_fpn |
— для задачи обнаружения объектов, fasterrcnn_resnet50_fpn — для задачи сегментации экземпляров, maskrcnn_resnet50_fpn |
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_threshold |
Во время вывода возвращают только предложения с показателем классификации больше box_score_threshold . Должно быть значением типа float в диапазоне [0, 1]. |
0,3 |
nms_iou_threshold |
Пороговое значение метрики IOU (Пересечение над объединением), используемое в методе подавления немаксимумов (NMS) для prediction head. Используется во время вывода. Должно быть значением типа float в диапазоне [0, 1]. |
0,5 |
box_detections_per_image |
Максимальное число обнаружений на каждое изображение для всех классов. Принимаются только положительные целые числа. |
100 |
tile_grid_size |
Размер сетки, используемый для мозаичного заполнения каждого изображения. - tile_grid_size Не должно быть нет, чтобы включить логику обнаружения небольших объектов.- tile_grid_size не поддерживается для задач сегментации экземпляров.Должен передаваться в виде строки в формате 3x2. Пример: --tile_grid_size '3x2' |
Нет по умолчанию |
tile_overlap_ratio |
Коэффициент перекрытия смежных фрагментов в каждом измерении. Должно быть значением типа float в диапазоне [0, 1) |
0.25 |
tile_predictions_nms_threshold |
Пороговое значение IOU, используемое для выполнения поиска немаксимумов (NMS) при объединении прогнозов из фрагментов и изображения. Используется при проверке или выводе. Должно быть значением типа float в диапазоне [0, 1] |
0.25 |