Hyperparametry pro úlohy počítačového zpracování obrazu v automatizovaném strojovém učení

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Sada Python SDK azure-ai-ml v2 (aktuální)

Zjistěte, které hyperparametry jsou k dispozici speciálně pro úlohy počítačového zpracování obrazu v experimentech automatizovaného strojového učení.

Díky podpoře úloh počítačového zpracování obrazu můžete řídit algoritmus modelu a uklidit hyperparametry. Tyto algoritmy modelu a hyperparametry se předávají jako prostor parametrů pro úklid. I když jsou mnohé z vystavených hyperparametrů nezávislé na modelu, existují případy, kdy jsou hyperparametry specifické pro model nebo úkol.

Hyperparametry specifické pro model

Tato tabulka shrnuje hyperparametry specifické pro yolov5 daný algoritmus.

Název parametru Description Výchozí
validation_metric_type Metoda výpočtu metrik, která se má použít pro ověřovací metriky.
Musí to být none, voccoco, nebo coco_voc.
voc
validation_iou_threshold Prahová hodnota IOU pro párování polí při výpočtu metrik ověřování
Musí být float v rozsahu [0,1, 1].
0,5
image_size Velikost obrázku pro trénování a ověřování
Musí být kladné celé číslo.

Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
640
model_size Velikost modelu.
Musí to být small, largemedium, nebo extra_large.

Poznámka: Trénovací běh se může dostat do OOM CUDA, pokud je velikost modelu příliš velká.
medium
multi_scale Povolení vícešálového obrázku s různou velikostí obrázku o +/- 50 %
Musí být 0 nebo 1.

Poznámka: Trénovací běh se může dostat do OOM CUDA, pokud není dostatek paměti GPU.
0
box_score_threshold Během odvozováním vrací pouze návrhy se skóre větším než box_score_threshold. Skóre je násobení skóre objektnosti a pravděpodobnosti klasifikace.
Musí být float v rozsahu [0, 1].
0.1
nms_iou_threshold Prahová hodnota IOU použitá při odvozování při ne maximálním potlačení po zpracování.
Musí být float v rozsahu [0, 1].
0,5
tile_grid_size Velikost mřížky, která se má použít pro dlaždici jednotlivých obrázků.
Poznámka: Pokud chcete povolit logiku detekce malých objektů , nesmí být tile_grid_size Žádný.
Měl by být předán jako řetězec ve formátu "3x2". Příklad: --tile_grid_size 3x2
Bez výchozího nastavení
tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v jednotlivých dimenzích
Musí být float v rozsahu [0, 1)
0,25
tile_predictions_nms_threshold Prahová hodnota IOU, která se má použít k provádění NMS při slučování předpovědí z dlaždic a obrázků. Používá se při ověřování nebo odvozování.
Musí být plovoucí v rozsahu [0, 1]
0,25

Tato tabulka shrnuje hyperparametry specifické maskrcnn_* pro segmentaci instancí během odvozování.

Název parametru Description Výchozí
mask_pixel_score_threshold Vyhodnotejte bod pro zvážení pixelu jako součásti masky objektu. 0,5
max_number_of_polygon_points Maximální počet párů souřadnic (x, y) v mnohoúhelníku po převodu z masky. 100
export_as_image Exportujte masky jako obrázky. Ne
image_type Typ obrázku pro export masky jako (možnosti jsou jpg, png, bmp). JPG

Hyperparametry nezávislé na modelu

Následující tabulka popisuje hyperparametry, které jsou nezávislé na modelu.

Název parametru Description Výchozí
number_of_epochs Počet epoch trénování
Musí být kladné celé číslo.
15
(kromě yolov5: 30)
training_batch_size Velikost trénovací dávky.
Musí být kladné celé číslo.
Vícetřídní/vícenásobný popisek: 78
(s výjimkou variant vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 2
(kromě yolov5: 16)

Segmentace instancí: 2

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou je možné použít na 12 GiB paměti GPU.
validation_batch_size Velikost dávky ověření.
Musí být kladné celé číslo.
Vícetřídní/vícenásobný popisek: 78
(s výjimkou variant vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 1
(kromě yolov5: 16)

Segmentace instancí: 1

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou je možné použít na 12 GiB paměti GPU.
gradient_accumulation_step Gradientní akumulace znamená spuštění nakonfigurovaného gradient_accumulation_step počtu bez aktualizace hmotností modelu při shromažďování přechodů těchto kroků a následné použití nahromaděných přechodů k výpočtu aktualizací hmotnosti.
Musí být kladné celé číslo.
1
early_stopping Povolte logiku předčasného zastavení během trénování.
Musí být 0 nebo 1.
1
early_stopping_patience Minimální počet epoch nebo ověřovacích hodnocení s
před zastavením spuštění nedojde k žádnému vylepšení primární metriky.
Musí být kladné celé číslo.
5
early_stopping_delay Minimální počet epoch nebo vyhodnocení ověření, která se mají čekat
před sledováním zlepšení primární metriky pro předčasné zastavení.
Musí být kladné celé číslo.
5
learning_rate Počáteční rychlost učení.
Musí být float v rozsahu [0, 1].
Více tříd: 0,01
(s výjimkou variant vit:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Více popisků: 0,035
(s výjimkou variant vit:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Detekce objektů: 0,005
(kromě yolov5: 0.01)

Segmentace instance: 0,005
learning_rate_scheduler Typ plánovače rychlosti učení
Musí být warmup_cosine nebo step.
warmup_cosine
step_lr_gamma Hodnota gama při plánovači rychlosti učení je step.
Musí být float v rozsahu [0, 1].
0,5
step_lr_step_size Hodnota velikosti kroku při plánovači rychlosti učení je step.
Musí být kladné celé číslo.
5
warmup_cosine_lr_cycles Hodnota kosinusového cyklu při plánovači rychlosti učení je warmup_cosine.
Musí být float v rozsahu [0, 1].
0,45
warmup_cosine_lr_warmup_epochs Hodnota zahřívacích epoch při učení plánovače rychlosti je warmup_cosine.
Musí být kladné celé číslo.
2
optimizer Typ optimalizátoru
Musí být , sgdadam, . adamw
sgd
momentum Hodnota dynamiky při optimalizaci je sgd.
Musí být float v rozsahu [0, 1].
0,9
weight_decay Hodnota poklesu hmotnosti při optimalizátoru je sgd, adamnebo adamw.
Musí být float v rozsahu [0, 1].
1e-4
nesterov Povolte nesterov , když je sgdoptimalizátor .
Musí být 0 nebo 1.
1
beta1 Hodnota, beta1 pokud je adam optimalizátor nebo adamw.
Musí být float v rozsahu [0, 1].
0,9
beta2 Hodnota, beta2 pokud je adam optimalizátor nebo adamw.
Musí být float v rozsahu [0, 1].
0.999
ams_gradient Povolit ams_gradient , pokud je adam optimalizátor nebo adamw.
Musí být 0 nebo 1.
0
evaluation_frequency Frekvence vyhodnocení ověřovací datové sady za účelem získání skóre metrik
Musí být kladné celé číslo.
1
checkpoint_frequency Frekvence ukládání kontrolních bodů modelu
Musí být kladné celé číslo.
Kontrolní bod v epoche s nejlepší primární metrikou pro ověření.
checkpoint_run_id ID spuštění experimentu, který má předem vytrénovaný kontrolní bod pro přírůstkové trénování. žádné výchozí nastavení
layers_to_freeze Kolik vrstev se má u modelu ukotvit. Například předání hodnoty 2 jako hodnoty znamená seresnext zamrznutí vrstvy 0 a vrstvy 1 s odkazem na níže uvedené informace o podporovaných vrstvách modelu.
Musí být kladné celé číslo.

'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.']
žádné výchozí nastavení

Hyperparametry specifické pro klasifikaci obrázků (s více třídami a více popisky)

Následující tabulka shrnuje hyperparmetry pro úlohy klasifikace obrázků (s více třídami a více popisky).

Název parametru Description Výchozí
weighted_loss
  • 0 pro bez vážené ztráty.
  • 1 pro hubnutí sqrt. (class_weights)
  • 2 pro hubnutí s class_weights.
  • Musí být 0, 1 nebo 2.
  • 0
    validation_resize_size
  • Velikost obrázku, na kterou se má změnit velikost před oříznutím pro účely ověření datové sady.
  • Musí být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Trénovací běh se může dostat do OOM CUDA, pokud je velikost příliš velká.
  • 256
    validation_crop_size
  • Velikost oříznutí obrázku, která je vstupní do neurální sítě pro ověření datové sady.
  • Musí být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Varianty ViT by měly mít stejné validation_crop_size a training_crop_size.
  • Trénovací běh se může dostat do OOM CUDA, pokud je velikost příliš velká.
  • 224
    training_crop_size
  • Velikost oříznutí obrázku, která je vstupem do neurální sítě pro trénování datové sady.
  • Musí být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Varianty ViT by měly mít stejné validation_crop_size a training_crop_size.
  • Trénovací běh se může dostat do OOM CUDA, pokud je velikost příliš velká.
  • 224

    Hyperparametry specifické pro úlohu detekce objektů a segmentace instancí

    Následující hyperparametry jsou určené pro úlohy detekce objektů a segmentace instancí.

    Upozornění

    Algoritmus tyto parametry nepodporuje yolov5 . Podporované hyperparmetry najdete v části hyperparametry specifické pro yolov5 model.

    Název parametru Description Výchozí
    validation_metric_type Metoda výpočtu metrik, která se má použít pro ověřovací metriky.
    Musí to být none, voccoco, nebo coco_voc.
    voc
    validation_iou_threshold Prahová hodnota IOU pro párování polí při výpočtu metrik ověřování
    Musí být float v rozsahu [0,1, 1].
    0,5
    min_size Minimální velikost image, která se má změnit na měřítko před tím, než ho nasdílíte do páteřní sítě.
    Musí být kladné celé číslo.

    Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
    600
    max_size Maximální velikost obrázku, který má být před odesláním do páteřní sítě přeškálován.
    Musí být kladné celé číslo.

    Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
    1333
    box_score_threshold Během odvozováním vrací pouze návrhy se skóre klasifikace vyšším než box_score_threshold.
    Musí být float v rozsahu [0, 1].
    0.3
    nms_iou_threshold Prahová hodnota IOU (průnik nad sjednocením) používaná při ne maximálním potlačení (NMS) pro hlavu predikce. Používá se během odvozováním.
    Musí být float v rozsahu [0, 1].
    0,5
    box_detections_per_image Maximální počet detekcí na obrázek pro všechny třídy
    Musí být kladné celé číslo.
    100
    tile_grid_size Velikost mřížky, která se má použít pro dlaždici jednotlivých obrázků.
    Poznámka: Pokud chcete povolit logiku detekce malých objektů , nesmí být tile_grid_size Žádný.
    Měl by být předán jako řetězec ve formátu "3x2". Příklad: --tile_grid_size 3x2
    Bez výchozího nastavení
    tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v jednotlivých dimenzích
    Musí být float v rozsahu [0, 1)
    0,25
    tile_predictions_nms_threshold Prahová hodnota IOU, která se má použít k provádění NMS při slučování předpovědí z dlaždic a obrázků. Používá se při ověřování nebo odvozování.
    Musí být plovoucí v rozsahu [0, 1]
    0,25

    Další kroky