Hiperparametry dla zadań przetwarzania obrazów w zautomatyzowanym uczeniu maszynowym
DOTYCZY:Rozszerzenie uczenia maszynowego platformy Azure w wersji 2 (bieżąca)Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżąca)
Dowiedz się, które hiperparametry są dostępne specjalnie dla zadań przetwarzania obrazów w eksperymentach zautomatyzowanego 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. Podczas gdy wiele hiperparametrów uwidocznionych jest niezależnie 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 | Domyślny |
---|---|---|
validation_metric_type |
Metoda obliczeniowa metryki do użycia na potrzeby metryk weryfikacji. Musi być none , , voc coco lub coco_voc . |
voc |
validation_iou_threshold |
Próg operacji we/wy dla pola pasującego podczas przetwarzania metryk weryfikacji. 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: uruchomienie treningowe może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
640 |
model_size |
Rozmiar modelu. Musi być small , , large medium lub extra_large . Uwaga: uruchomienie trenowania może dostać się do CUDA OOM, jeśli rozmiar modelu jest zbyt duży. |
medium |
multi_scale |
Włącz obraz wieloskalowy, różniąc się rozmiarem obrazu o +/- 50% Musi mieć wartość 0 lub 1. Uwaga: uruchomienie trenowania może dostać się do cudA OOM, jeśli nie ma wystarczającej 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 obiektu i prawdopodobieństwem 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, który ma być używany do układania każdego obrazu. Uwaga: tile_grid_size nie może mieć wartości Brak, aby włączyć logikę wykrywania małych 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 |
Nakładanie 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 obrazu. Używane w weryfikacji/wnioskowaniu. Musi być zmiennoprzecinkowy w zakresie [0, 1] |
0,25 |
Ta tabela zawiera podsumowanie hiperparametrów specyficznych dla maskrcnn_*
segmentacji wystąpienia podczas wnioskowania.
Nazwa parametru | Opis | Domyślny |
---|---|---|
mask_pixel_score_threshold |
Ocenianie odcięcia w celu 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 |
Hiperparametry niezależne od modelu
W poniższej tabeli opisano hiperparametry, które są niezależne od modelu.
Nazwa parametru | Opis | Domyślny |
---|---|---|
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 : 128vitb16r224 : 48vitl16r224 :10)Wykrywanie obiektu: 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 |
Walidacja rozmiaru partii. Musi być dodatnią liczbą całkowitą. |
Multi-class/multi-label: 78 (z wyjątkiem wariantów vit: vits16r224 : 128vitb16r224 : 48vitl16r224 :10)Wykrywanie obiektu: 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życie 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 walidacji z brak podstawowej poprawy metryk przed zatrzymaniem przebiegu. Musi być dodatnią liczbą całkowitą. |
5 |
early_stopping_delay |
Minimalna liczba epok lub ocen poprawności do oczekiwania przed poprawa podstawowej metryki jest śledzona pod kątem wczesnego zatrzymywania. Musi być dodatnią liczbą całkowitą. |
5 |
learning_rate |
Początkowa stawka nauki. Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
Wieloklasowa klasa: 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.025vitl16r224 : 0.002)Wykrywanie obiektów: 0,005 (z wyjątkiem yolov5 : 0,01)Segmentacja wystąpień: 0,005 |
learning_rate_scheduler |
Typ harmonogramu szybkości nauki. Musi być warmup_cosine lub step . |
warmup_cosine |
step_lr_gamma |
Wartość gamma, gdy harmonogram szybkości uczenia 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, gdy harmonogram 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 być albo sgd , , adamw adam . |
sgd |
momentum |
Wartość tempa, gdy optymalizator ma wartość sgd . Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
0,9 |
weight_decay |
Wartość rozpadu wagi, gdy optymalizator to sgd , 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ść oceny 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ą podstawową metrykami weryfikacji. |
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 zamrożenie 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 (wieloklasowej i wieloklasowej)
Poniższa tabela zawiera podsumowanie hiperparmetrów dla zadań klasyfikacji obrazów (wieloklasowych i wieloemetrycznych).
Nazwa parametru | Opis | Domyślny |
---|---|---|
model_name |
Nazwa modelu do użycia w zadaniu klasyfikacji obrazów. Musi być jednym z mobilenetv2 , , resnet18 , resnet50 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. - Uruchomienie treningowe 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 na potrzeby zestawu danych weryfikacji. - Musi być dodatnią liczbą całkowitą. Notatki: - seresnext nie ma dowolnego rozmiaru. - Warianty ViT powinny mieć te same validation_crop_size i training_crop_size . - Uruchomienie treningowe 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ć te same validation_crop_size i training_crop_size . - Uruchomienie treningowe może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży. |
224 |
Hiperparametry dotyczące wykrywania obiektów i segmentacji wystąpień
Następujące hiperparametry są przeznaczone do 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ć się z yolov5
obsługiwanymi hiperparmetrami.
Nazwa parametru | Opis | Domyślny |
---|---|---|
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_resnet50_fpn fasterrcnn_resnet34_fpn , fasterrcnn_resnet101_fpn , fasterrcnn_resnet152_fpn . retinanet_resnet50_fpn — W przypadku zadania segmentacji wystąpień musi być jednym z maskrcnn_resnet18_fpn , maskrcnn_resnet34_fpn , maskrcnn_resnet50_fpn , , maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn |
- Dla zadania wykrywania obiektów, fasterrcnn_resnet50_fpn — W przypadku zadania segmentacji wystąpienia, maskrcnn_resnet50_fpn |
validation_metric_type |
Metoda obliczania metryki do użycia na potrzeby metryk walidacji. Musi mieć wartość none , coco , voc lub coco_voc . |
voc |
validation_iou_threshold |
Próg operacji we/wy dla pola dopasowania podczas przetwarzania metryk weryfikacji. Musi być zmiennoprzecinkiem 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ć zmiennoprzecinkiem w zakresie [0, 1]. |
0.3 |
nms_iou_threshold |
Wartość IOU (przecięcie przeciętego nad unią) używana w przypadku braku maksymalnego pomijania (NMS) dla głowy przewidywania. Używane podczas wnioskowania. Musi być zmiennoprzecinkiem 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 na potrzeby układania obrazów. - tile_grid_size nie może być 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 obrazu. Używany w weryfikacji/wnioskowaniu. Musi być zmiennoprzecinkowa w zakresie [0, 1] |
0,25 |