Hiperparametry dla zadań przetwarzania obrazów w zautomatyzowanym uczeniu maszynowym
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)
Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
Dowiedz się, które hiperparametry są dostępne specjalnie dla zadań przetwarzania obrazów w zautomatyzowanych eksperymentach uczenia maszynowego.
Dzięki obsłudze zadań przetwarzania obrazów można kontrolować architekturę modelu i zamiatać hiperparametry. Te architektury modelu i hiperparametry są przekazywane jako przestrzeń parametrów dla zamiatania. Chociaż wiele hiperparametrów uwidocznionych jest niezależny od modelu, istnieją wystąpienia, w których hiperparametry są specyficzne dla modelu lub specyficzne dla zadania.
Hiperparametry specyficzne dla modelu
Ta tabela zawiera podsumowanie hiperparametrów specyficznych dla yolov5
architektury.
Nazwa parametru | opis | Wartość domyślna |
---|---|---|
validation_metric_type |
Metoda obliczeniowa metryki do użycia na potrzeby metryk walidacji. Musi mieć none wartość , , coco voc lub coco_voc . |
voc |
validation_iou_threshold |
Próg operacji we/wy dla pola pasującego podczas przetwarzania metryk walidacji. Musi być zmiennoprzecinkowym w zakresie [0.1, 1]. |
0.5 |
image_size |
Rozmiar obrazu do trenowania i walidacji. Musi być dodatnią liczbą całkowitą. Uwaga: przebieg trenowania może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
640 |
model_size |
Rozmiar modelu. Musi mieć small wartość , , medium large lub extra_large . Uwaga: przebieg trenowania może dostać się do cudA OOM, jeśli rozmiar modelu jest zbyt duży. |
medium |
multi_scale |
Włącz obraz wieloskalowy, zmieniając rozmiar obrazu o +/- 50% Musi mieć wartość 0 lub 1. Uwaga: przebieg trenowania może dostać się do funkcji CUDA OOM, jeśli nie ma wystarczającej ilości pamięci procesora GPU. |
0 |
box_score_threshold |
Podczas wnioskowania zwracane są tylko propozycje z wynikiem większym niż box_score_threshold . Wynik jest mnożeniem wyniku obiektów i prawdopodobieństwa klasyfikacji. Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0.1 |
nms_iou_threshold |
Próg operacji we/wy używany podczas wnioskowania w przetwarzaniu po zakończeniu operacji pomijania nie jest maksymalny. Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0.5 |
tile_grid_size |
Rozmiar siatki do użycia do układania każdego obrazu. Uwaga: tile_grid_size nie może być brak, aby włączyć małą logikę wykrywania obiektów Należy przekazać jako ciąg w formacie "3x2". Przykład: --tile_grid_size "3x2" |
Brak wartości domyślnej |
tile_overlap_ratio |
Współczynnik nakładania się między sąsiednimi kafelkami w każdym wymiarze. Musi być zmiennoprzecinkowy w zakresie [0, 1) |
0.25 |
tile_predictions_nms_threshold |
Próg operacji we/wy używany do wykonywania nms podczas scalania przewidywań z kafelków i obrazów. Używany w walidacji/wnioskowaniu. Musi być zmiennoprzecinkowy w zakresie [0, 1] |
0.25 |
Ta tabela zawiera podsumowanie hiperparametrów specyficznych maskrcnn_*
dla segmentacji wystąpień podczas wnioskowania.
Nazwa parametru | opis | Wartość domyślna |
---|---|---|
mask_pixel_score_threshold |
Przecięcie wyniku dla rozważenia piksela w ramach maski obiektu. | 0.5 |
max_number_of_polygon_points |
Maksymalna liczba par współrzędnych (x, y) w wielokącie po przekonwertowaniu z maski. | 100 |
export_as_image |
Eksportuj maski jako obrazy. | Fałsz |
image_type |
Typ obrazu do wyeksportowania maski jako (opcje to jpg, png, bmp). | JPG |
Niezależne hiperparametry modelu
W poniższej tabeli opisano hiperparametry, które są niezależne od modelu.
Nazwa parametru | opis | Wartość domyślna |
---|---|---|
number_of_epochs |
Liczba epok treningowych. Musi być dodatnią liczbą całkowitą. |
15 (z wyjątkiem yolov5 : 30) |
training_batch_size |
Rozmiar partii trenowania. Musi być dodatnią liczbą całkowitą. |
Multi-class/multi-label: 78 (z wyjątkiem wariantów vit: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Wykrywanie obiektów: 2 (z wyjątkiem yolov5 : 16) Segmentacja wystąpienia: 2 Uwaga: Wartości domyślne to największy rozmiar partii, który może być używany w pamięci procesora GPU 12 GiB. |
validation_batch_size |
Sprawdzanie poprawności rozmiaru partii. Musi być dodatnią liczbą całkowitą. |
Multi-class/multi-label: 78 (z wyjątkiem wariantów vit: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Wykrywanie obiektów: 1 (z wyjątkiem yolov5 : 16) Segmentacja wystąpienia: 1 Uwaga: Wartości domyślne to największy rozmiar partii, który może być używany w pamięci procesora GPU 12 GiB. |
gradient_accumulation_step |
Akumulacja gradientu oznacza uruchomienie skonfigurowanej liczby gradient_accumulation_step bez aktualizowania wag modelu podczas gromadzenia gradientów tych kroków, a następnie używania skumulowanych gradientów do obliczenia aktualizacji wagi. Musi być dodatnią liczbą całkowitą. |
1 |
early_stopping |
Włącz logikę wczesnego zatrzymywania podczas trenowania. Musi mieć wartość 0 lub 1. |
1 |
early_stopping_patience |
Minimalna liczba epok lub ocen poprawności z brak podstawowej poprawy metryki przed zatrzymaniem przebiegu. Musi być dodatnią liczbą całkowitą. |
5 |
early_stopping_delay |
Minimalna liczba epok lub ocen poprawności do oczekiwania przed śledzeniem podstawowej poprawy metryki na potrzeby wczesnego zatrzymywania. Musi być dodatnią liczbą całkowitą. |
5 |
learning_rate |
Początkowa szybkość nauki. Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
Wiele klas: 0.01 (z wyjątkiem wariantów vit: vits16r224 : 0.0125vitb16r224 : 0.0125vitl16r224 : 0.001) Wiele etykiet: 0,035 (z wyjątkiem wariantów vit: vits16r224 : 0.025vitb16r224 : 0.025 vitl16r224 : 0.002) Wykrywanie obiektów: 0.005 (z wyjątkiem yolov5 : 0,01) Segmentacja wystąpienia: 0,005 |
learning_rate_scheduler |
Typ harmonogramu szybkości nauki. Musi mieć wartość warmup_cosine lub step . |
warmup_cosine |
step_lr_gamma |
Wartość gamma, gdy harmonogram szybkości nauki to step .Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0.5 |
step_lr_step_size |
Wartość rozmiaru kroku, gdy harmonogram szybkości nauki to step .Musi być dodatnią liczbą całkowitą. |
5 |
warmup_cosine_lr_cycles |
Wartość cyklu cosinusowego w przypadku harmonogramu szybkości nauki to warmup_cosine . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0,45 |
warmup_cosine_lr_warmup_epochs |
Wartość epok rozgrzewki, gdy harmonogram szybkości nauki to warmup_cosine . Musi być dodatnią liczbą całkowitą. |
2 |
optimizer |
Typ optymalizatora. Musi mieć wartość sgd , , adamw adam . |
sgd |
momentum |
Wartość momentu, gdy optymalizator ma wartość sgd . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0,9 |
weight_decay |
Wartość rozkładu wagi, gdy optymalizator ma sgd wartość , adam lub adamw . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
1e-4 |
nesterov |
Włącz nesterov , gdy optymalizator ma wartość sgd . Musi mieć wartość 0 lub 1. |
1 |
beta1 |
Wartość parametru beta1 , gdy optymalizator ma wartość adam lub adamw . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0,9 |
beta2 |
Wartość parametru beta2 , gdy optymalizator ma wartość adam lub adamw .Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0,999 |
ams_gradient |
Włącz ams_gradient , gdy optymalizator ma wartość adam lub adamw .Musi mieć wartość 0 lub 1. |
0 |
evaluation_frequency |
Częstotliwość oceniania zestawu danych weryfikacji w celu uzyskania wyników metryk. Musi być dodatnią liczbą całkowitą. |
1 |
checkpoint_frequency |
Częstotliwość przechowywania punktów kontrolnych modelu. Musi być dodatnią liczbą całkowitą. |
Punkt kontrolny w epoki z najlepszą metrykami podstawowymi podczas walidacji. |
checkpoint_run_id |
Identyfikator przebiegu eksperymentu, który ma wstępnie wytrenowany punkt kontrolny na potrzeby trenowania przyrostowego. | brak wartości domyślnej |
layers_to_freeze |
Ile warstw ma być blokowanych dla modelu. Na przykład przekazanie wartości 2 jako wartości seresnext oznacza zamrażanie warstwy 0 i warstwy 1 odwołujące się do poniższych obsługiwanych informacji o warstwie modelu. Musi być dodatnią liczbą całkowitą. - '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.'] |
brak wartości domyślnej |
Hiperparametry specyficzne dla klasyfikacji obrazów (wieloklasowych i wieloeznakowych)
W poniższej tabeli przedstawiono podsumowanie hiperparmetrów pod kątem zadań klasyfikacji obrazów (wieloklasowych i wieloznakowych).
Nazwa parametru | opis | Wartość domyślna |
---|---|---|
model_name |
Nazwa modelu do użycia w zadaniu klasyfikacji obrazów. Musi być jednym z mobilenetv2 elementów , , resnet50 resnet18 vitb16r224 resnet34 resnet101 vits16r224 resnet152 resnest50 resnest101 seresnext . vitl16r224 |
seresnext |
weighted_loss |
- 0 bez odchudzania. - 1 dla odchudzania z sqrt. (class_weights) - 2 dla odchudzania z class_weights. - Musi mieć wartość 0 lub 1 lub 2. |
0 |
validation_resize_size |
— Rozmiar obrazu, którego rozmiar ma być zmieniany przed przycinaniem zestawu danych weryfikacji. - Musi być dodatnią liczbą całkowitą. Notatki: - seresnext nie ma dowolnego rozmiaru. - Przebieg treningowy może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
256 |
validation_crop_size |
— Rozmiar przycinania obrazów, który jest wejściowy do sieci neuronowej w celu weryfikacji zestawu danych. - Musi być dodatnią liczbą całkowitą. Notatki: - seresnext nie ma dowolnego rozmiaru. - Warianty ViT powinny mieć takie same validation_crop_size i training_crop_size . - Przebieg treningowy może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
224 |
training_crop_size |
— Rozmiar przycinania obrazów, który jest wejściowy do sieci neuronowej na potrzeby trenowania zestawu danych. - Musi być dodatnią liczbą całkowitą. Notatki: - seresnext nie ma dowolnego rozmiaru. - Warianty ViT powinny mieć takie same validation_crop_size i training_crop_size . - Przebieg treningowy może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
224 |
Hiperparametry dotyczące zadań wykrywania obiektów i segmentacji wystąpień
Następujące hiperparametry dotyczą zadań wykrywania obiektów i segmentacji wystąpień.
Ostrzeżenie
Te parametry nie są obsługiwane w architekturze yolov5
. Zobacz sekcję hiperparametrów specyficznych dla modelu, aby zapoznać yolov5
się z obsługiwanymi hiperparmetrami.
Nazwa parametru | opis | Wartość domyślna |
---|---|---|
model_name |
Nazwa modelu do użycia w zadaniu klasyfikacji obrazów. — W przypadku zadania wykrywania obiektów musi być jednym z yolov5 elementów , , fasterrcnn_resnet18_fpn , fasterrcnn_resnet34_fpn fasterrcnn_resnet50_fpn , fasterrcnn_resnet101_fpn , , . retinanet_resnet50_fpn fasterrcnn_resnet152_fpn — W przypadku zadania segmentacji wystąpienia musi być jednym z maskrcnn_resnet18_fpn , , maskrcnn_resnet50_fpn maskrcnn_resnet34_fpn , , maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn |
- W przypadku zadania wykrywania obiektów, fasterrcnn_resnet50_fpn — W przypadku zadania segmentacji wystąpienia, maskrcnn_resnet50_fpn |
validation_metric_type |
Metoda obliczeniowa metryki do użycia na potrzeby metryk walidacji. Musi mieć none wartość , , coco voc lub coco_voc . |
voc |
validation_iou_threshold |
Próg operacji we/wy dla pola pasującego podczas przetwarzania metryk walidacji. Musi być zmiennoprzecinkowym w zakresie [0.1, 1]. |
0.5 |
min_size |
Minimalny rozmiar obrazu do ponownego skalowania przed przesłaniem go do sieci szkieletowej. Musi być dodatnią liczbą całkowitą. Uwaga: przebieg trenowania może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
600 |
max_size |
Maksymalny rozmiar obrazu do ponownego skalowania przed przesłaniem go do sieci szkieletowej. Musi być dodatnią liczbą całkowitą. Uwaga: przebieg trenowania może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
1333 |
box_score_threshold |
Podczas wnioskowania zwracane są tylko propozycje z wynikiem klasyfikacji większym niż box_score_threshold . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0.3 |
nms_iou_threshold |
Wartość progowa IOU (przecięcie między unią) używana w przypadku braku maksymalnego pomijania (NMS) dla głowy przewidywania. Używany podczas wnioskowania. Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0.5 |
box_detections_per_image |
Maksymalna liczba wykryć na obrazie dla wszystkich klas. Musi być dodatnią liczbą całkowitą. |
100 |
tile_grid_size |
Rozmiar siatki do użycia do układania każdego obrazu. - tile_grid_size nie może mieć wartości Brak, aby włączyć logikę wykrywania małych obiektów.- tile_grid_size nie jest obsługiwana w przypadku zadań segmentacji wystąpień.Należy przekazać jako ciąg w formacie "3x2". Przykład: --tile_grid_size "3x2" |
Brak wartości domyślnej |
tile_overlap_ratio |
Współczynnik nakładania się między sąsiednimi kafelkami w każdym wymiarze. Musi być zmiennoprzecinkowy w zakresie [0, 1) |
0.25 |
tile_predictions_nms_threshold |
Próg operacji we/wy używany do wykonywania nms podczas scalania przewidywań z kafelków i obrazów. Używany w walidacji/wnioskowaniu. Musi być zmiennoprzecinkowy w zakresie [0, 1] |
0.25 |
Następne kroki
Dowiedz się, jak skonfigurować rozwiązanie AutoML do trenowania modeli przetwarzania obrazów przy użyciu języka Python.
Samouczek: trenowanie modelu wykrywania obiektów za pomocą rozwiązania AutoML i języka Python.