Udostępnij za pośrednictwem


Hiperparametry dla zadań przetwarzania obrazów w zautomatyzowanym uczeniu maszynowym (wersja 1)

DOTYCZY: Zestaw SDK języka Python w wersji 1

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ć algorytm modelu i zamiatać hiperparametry. Te algorytmy 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 algorytmu yolov5 .

Nazwa parametru opis Wartość domyślna
validation_metric_type Metoda obliczeniowa metryki do użycia na potrzeby metryk walidacji.
Musi mieć nonewartość , , cocovoclub 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
img_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ć smallwartość , , mediumlargelub xlarge.

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_thresh Podczas wnioskowania zwracane są tylko propozycje z wynikiem większym niż box_score_thresh. Wynik jest mnożeniem wyniku obiektów i prawdopodobieństwa klasyfikacji.
Musi być zmiennoprzecinkowym w zakresie [0, 1].
0.1
nms_iou_thresh 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
Krotka dwóch liczb całkowitych przekazana jako ciąg. Przykład: --tile_grid_size "(3, 2)"
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_thresh 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.
grad_accumulation_step Akumulacja gradientu oznacza uruchomienie skonfigurowanej liczby grad_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.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Wiele etykiet: 0,035
(z wyjątkiem wariantów vit:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Wykrywanie obiektów: 0.005
(z wyjątkiem yolov5: 0,01)

Segmentacja wystąpienia: 0,005
lr_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, , adamwadam.
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 sgdwartość , adamlub 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
amsgrad Włącz amsgrad , 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
checkpoint_dataset_id FileDataset ID zawierający wstępnie wytrenowane punkty kontrolne na potrzeby trenowania przyrostowego. Pamiętaj, aby przekazać checkpoint_filename ciąg wraz z checkpoint_dataset_id. brak wartości domyślnej
checkpoint_filename Wstępnie wytrenowana nazwa pliku punktu kontrolnego w plikuDataset na potrzeby trenowania przyrostowego. Pamiętaj, aby przekazać checkpoint_dataset_id ciąg wraz z checkpoint_filename. 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
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
valid_resize_size
  • Rozmiar obrazu, którego rozmiar należy zmienić przed przycięciem do zestawu danych weryfikacji.
  • Musi być dodatnią liczbą całkowitą.

    Notatki:
  • seresnext nie ma dowolnego rozmiaru.
  • Przebieg trenowania może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży.
  • 256
    valid_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ć takie same valid_crop_size i train_crop_size .
  • Przebieg trenowania może dostać się do CUDA OOM, jeśli rozmiar jest zbyt duży.
  • 224
    train_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 valid_crop_size i train_crop_size .
  • Przebieg trenowania 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 za pomocą algorytmu yolov5 . Zobacz sekcję hiperparametrów specyficznych dla modelu, aby zapoznać yolov5 się z obsługiwanymi hiperparmetrami.

    Nazwa parametru opis Wartość domyślna
    validation_metric_type Metoda obliczeniowa metryki do użycia na potrzeby metryk walidacji.
    Musi mieć nonewartość , , cocovoclub 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_thresh Podczas wnioskowania zwracane są tylko propozycje z wynikiem klasyfikacji większym niż box_score_thresh.
    Musi być zmiennoprzecinkowym w zakresie [0, 1].
    0.3
    nms_iou_thresh 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_img 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.
    Uwaga: tile_grid_size nie może być brak, aby włączyć małą logikę wykrywania obiektów
    Krotka dwóch liczb całkowitych przekazana jako ciąg. Przykład: --tile_grid_size "(3, 2)"
    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_thresh 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