Hiperparâmetros para tarefas de imagem digitalizada no machine learning automatizado
APLICA-SE A:Extensão v2 da CLI do Azure (atual)SDK python azure-ai-ml v2 (atual)
Saiba que hiperparâmetros estão disponíveis especificamente para tarefas de imagem digitalizada em experimentações de ML automatizadas.
Com o suporte para tarefas de imagem digitalizada, pode controlar a arquitetura do modelo e varrer hiperparâmetros. Estas arquiteturas de modelos e hiperparâmetros são transmitidos como o espaço de parâmetros para o varrimento. Embora muitos dos hiperparâmetros expostos sejam model-agnósticos, existem instâncias em que os hiperparâmetros são específicos do modelo ou específicos da tarefa.
Hiperparâmetros específicos do modelo
Esta tabela resume hiperparâmetros específicos da yolov5
arquitetura.
Nome do parâmetro | Descrição | Predefinição |
---|---|---|
validation_metric_type |
Método de computação de métricas a utilizar para métricas de validação. Tem de ser none , coco , voc ou coco_voc . |
voc |
validation_iou_threshold |
Limiar de IOU para a correspondência de caixas ao calcular métricas de validação. Tem de ser um flutuante no intervalo [0,1, 1]. |
0,5 |
image_size |
Tamanho da imagem para preparação e validação. Tem de ser um número inteiro positivo. Nota: a execução de preparação pode entrar no OOM CUDA se o tamanho for demasiado grande. |
640 |
model_size |
Tamanho do modelo. Tem de ser small , medium , large ou extra_large . Nota: a execução de preparação pode entrar no OOM CUDA se o tamanho do modelo for demasiado grande. |
medium |
multi_scale |
Ativar a imagem em várias escalas ao variar o tamanho da imagem em +/- 50% Tem de ser 0 ou 1. Nota: a execução de preparação pode entrar no OOM CUDA se não houver memória GPU suficiente. |
0 |
box_score_threshold |
Durante a inferência, só devolve propostas com uma pontuação superior a box_score_threshold . A classificação é a multiplicação da classificação de objectness e da probabilidade de classificação. Tem de ser um flutuante no intervalo [0, 1]. |
0.1 |
nms_iou_threshold |
Limiar de IOU utilizado durante a inferência no pós-processamento de supressão não máximo. Tem de ser um flutuante no intervalo [0, 1]. |
0,5 |
tile_grid_size |
O tamanho da grelha a utilizar para tilar cada imagem. Nota: tile_grid_size não pode ser Nenhum para ativar a lógica de deteção de objetos pequenos Deve ser transmitida como uma cadeia no formato "3x2". Exemplo: --tile_grid_size "3x2" |
Sem Predefinição |
tile_overlap_ratio |
Proporção entre mosaicos adjacentes em cada dimensão. Tem de estar flutuante no intervalo de [0, 1) |
0,25 |
tile_predictions_nms_threshold |
O limiar IOU a utilizar para executar o NMS ao intercalar predições de mosaicos e imagens. Utilizado na validação/inferência. Tem de estar flutuante no intervalo de [0, 1] |
0,25 |
Esta tabela resume hiperparâmetros específicos da maskrcnn_*
segmentação de instâncias durante a inferência.
Nome do parâmetro | Descrição | Predefinição |
---|---|---|
mask_pixel_score_threshold |
Limite de classificação por considerar um pixel como parte da máscara de um objeto. | 0,5 |
max_number_of_polygon_points |
Número máximo de pares de coordenadas (x, y) no polígono após a conversão de uma máscara. | 100 |
export_as_image |
Exportar máscaras como imagens. | Falso |
image_type |
Tipo de imagem para exportar máscara como (as opções são jpg, png, bmp). | JPG |
Hiperparâmetros agnósticos de modelo
A tabela seguinte descreve os hiperparâmetros que são agnósticos do modelo.
Nome do parâmetro | Descrição | Predefinição |
---|---|---|
number_of_epochs |
Número de épocas de preparação. Tem de ser um número inteiro positivo. |
15 (exceto yolov5 : 30) |
training_batch_size |
Tamanho do lote de preparação. Tem de ser um número inteiro positivo. |
Várias classes/várias etiquetas: 78 (exceto variantes de vit: vits16r224 : 128vitb16r224 : 48vitl16r224 :10)Deteção de objetos: 2 (exceto yolov5 : 16)Segmentação de instâncias: 2 Nota: as predefinições são o maior tamanho de lote que pode ser utilizado na memória gpu gib 12. |
validation_batch_size |
Tamanho do lote de validação. Tem de ser um número inteiro positivo. |
Várias classes/várias etiquetas: 78 (exceto variantes de vit: vits16r224 : 128vitb16r224 : 48vitl16r224 :10)Deteção de objetos: 1 (exceto yolov5 : 16)Segmentação de instâncias: 1 Nota: as predefinições são o maior tamanho de lote que pode ser utilizado na memória gpu gib 12. |
gradient_accumulation_step |
Acumulação de gradação significa executar um número configurado de gradient_accumulation_step sem atualizar os pesos do modelo ao acumular as gradações desses passos e, em seguida, utilizar as gradações acumuladas para calcular as atualizações de peso. Tem de ser um número inteiro positivo. |
1 |
early_stopping |
Ative a lógica de paragem precoce durante a preparação. Tem de ser 0 ou 1. |
1 |
early_stopping_patience |
Número mínimo de épocas ou avaliações de validação com sem melhorias nas métricas primárias antes de a execução ser parada. Tem de ser um número inteiro positivo. |
5 |
early_stopping_delay |
Número mínimo de épocas ou avaliações de validação a aguardar antes de a melhoria das métricas primárias ser controlada para paragem antecipada. Tem de ser um número inteiro positivo. |
5 |
learning_rate |
Taxa de aprendizagem inicial. Tem de ser um flutuante no intervalo [0, 1]. |
Várias classes: 0.01 (exceto variantes de vit: vits16r224 : 0.0125vitb16r224 : 0.0125vitl16r224 : 0.001)Várias etiquetas: 0,035 (exceto variantes de vit: vits16r224 : 0.025vitb16r224 : 0.025vitl16r224 : 0.002)Deteção de objetos: 0,005 (exceto yolov5 : 0,01)Segmentação de instâncias: 0,005 |
learning_rate_scheduler |
Tipo de agendador de taxa de aprendizagem. Tem de ser warmup_cosine ou step . |
warmup_cosine |
step_lr_gamma |
Valor da gama quando o programador de taxa de aprendizagem é step .Tem de ser um flutuante no intervalo [0, 1]. |
0,5 |
step_lr_step_size |
Valor do tamanho do passo quando o agendador da taxa de aprendizagem é step .Tem de ser um número inteiro positivo. |
5 |
warmup_cosine_lr_cycles |
Valor do ciclo de cosseno quando o agendador da taxa de aprendizagem é warmup_cosine . Tem de ser um flutuante no intervalo [0, 1]. |
0,45 |
warmup_cosine_lr_warmup_epochs |
Valor das épocas de aquecimento quando o programador de taxa de aprendizagem é warmup_cosine . Tem de ser um número inteiro positivo. |
2 |
optimizer |
Tipo de otimizador. Tem de ser , sgd adam , adamw . |
sgd |
momentum |
Valor de impulso quando o otimizador é sgd . Tem de ser um flutuante no intervalo [0, 1]. |
0,9 |
weight_decay |
Valor da decadência de peso quando o otimizador é sgd , adam ou adamw . Tem de ser um flutuante no intervalo [0, 1]. |
1e-4 |
nesterov |
Ative nesterov quando o otimizador for sgd . Tem de ser 0 ou 1. |
1 |
beta1 |
Valor de beta1 quando o otimizador é adam ou adamw . Tem de ser um flutuante no intervalo [0, 1]. |
0,9 |
beta2 |
Valor de beta2 quando o otimizador é adam ou adamw .Tem de ser um flutuante no intervalo [0, 1]. |
0.999 |
ams_gradient |
Ative ams_gradient quando o otimizador é adam ou adamw .Tem de ser 0 ou 1. |
0 |
evaluation_frequency |
Frequência para avaliar o conjunto de dados de validação para obter classificações de métricas. Tem de ser um número inteiro positivo. |
1 |
checkpoint_frequency |
Frequência para armazenar pontos de verificação de modelos. Tem de ser um número inteiro positivo. |
Ponto de verificação na época com a melhor métrica primária em validação. |
checkpoint_run_id |
O ID de execução da experimentação que tem um ponto de verificação pré-preparado para preparação incremental. | sem predefinição |
layers_to_freeze |
Quantas camadas fixar para o modelo. Por exemplo, transmitir 2 como valor para seresnext significa congelar camada0 e camada1, referindo-se às informações de camada de modelo suportadas abaixo. Tem de ser um número inteiro positivo. - '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.'] |
sem predefinição |
Hiperparâmetros específicos de classificação de imagens (várias classes e várias etiquetas)
A tabela seguinte resume os hiperparâmetros para tarefas de classificação de imagens (várias classes e várias etiquetas).
Nome do parâmetro | Descrição | Predefinição |
---|---|---|
model_name |
Nome do modelo a utilizar para a tarefa de classificação de imagens em questão. Tem de ser um de mobilenetv2 , resnet18 , resnet34 , , resnet50 , resnet152 resnet101 , , resnest50 , resnest101 , seresnext , vits16r224 , , vitb16r224 , . vitl16r224 |
seresnext |
weighted_loss |
- 0 sem perda ponderada. - 1 para perda ponderada com sqrt. (class_weights) - 2 para perda ponderada com class_weights. - Tem de ser 0, 1 ou 2. |
0 |
validation_resize_size |
- Tamanho da imagem para o qual redimensionar antes de recortar para o conjunto de dados de validação. - Tem de ser um número inteiro positivo. Notas: - seresnext não assume um tamanho arbitrário. - A execução de preparação pode entrar no OOM cuda se o tamanho for demasiado grande. |
256 |
validation_crop_size |
- Tamanho do recorte de imagem que é introduzido na sua rede neural para o conjunto de dados de validação. - Tem de ser um número inteiro positivo. Notas: - seresnext não assume um tamanho arbitrário. - As variantes de ViT devem ter o mesmo validation_crop_size e training_crop_size . - A execução de preparação pode entrar no OOM cuda se o tamanho for demasiado grande. |
224 |
training_crop_size |
- Tamanho do recorte de imagem que é introduzido na sua rede neural para preparar o conjunto de dados. - Tem de ser um número inteiro positivo. Notas: - seresnext não assume um tamanho arbitrário. - As variantes de ViT devem ter o mesmo validation_crop_size e training_crop_size . - A execução de preparação pode entrar no OOM cuda se o tamanho for demasiado grande. |
224 |
Hiperparâmetros específicos da tarefa de segmentação de objetos e de deteção de objetos
Os seguintes hiperparâmetros destinam-se à deteção de objetos e a tarefas de segmentação de instâncias.
Aviso
Estes parâmetros não são suportados com a yolov5
arquitetura. Veja a secção de hiperparâmetros específicos do modelo para yolov5
obter os hiperparâmetros suportados.
Nome do parâmetro | Descrição | Predefinição |
---|---|---|
model_name |
Nome do modelo a utilizar para a tarefa de classificação de imagens em questão. - Para a tarefa de deteção de objetos, tem de ser uma de yolov5 , fasterrcnn_resnet18_fpn , fasterrcnn_resnet34_fpn , fasterrcnn_resnet50_fpn , fasterrcnn_resnet101_fpn , fasterrcnn_resnet152_fpn , . retinanet_resnet50_fpn - Para a tarefa de segmentação de instâncias, tem de ser uma de maskrcnn_resnet18_fpn , maskrcnn_resnet34_fpn , maskrcnn_resnet50_fpn , , maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn |
- Para a tarefa de deteção de objetos, fasterrcnn_resnet50_fpn - Para a tarefa de segmentação de instâncias, maskrcnn_resnet50_fpn |
validation_metric_type |
Método de computação de métricas a utilizar para métricas de validação. Tem de ser none , coco , voc ou coco_voc . |
voc |
validation_iou_threshold |
Limiar IOU para a correspondência de caixas ao calcular métricas de validação. Tem de ser um flutuante no intervalo [0.1, 1]. |
0,5 |
min_size |
Tamanho mínimo da imagem a ser redimensionada antes de a alimentar na estrutura principal. Tem de ser um número inteiro positivo. Nota: a execução de preparação pode entrar no OOM cuda se o tamanho for demasiado grande. |
600 |
max_size |
Tamanho máximo da imagem a ser redimensionada antes de a alimentar na estrutura principal. Tem de ser um número inteiro positivo. Nota: a execução de preparação pode entrar no OOM cuda se o tamanho for demasiado grande. |
1333 |
box_score_threshold |
Durante a inferência, só devolve propostas com uma classificação de classificação superior a box_score_threshold . Tem de ser um flutuante no intervalo [0, 1]. |
0.3 |
nms_iou_threshold |
Limiar IOU (interseção sobre união) utilizado na supressão não máxima (NMS) para o cabeçalho de predição. Utilizado durante a inferência. Tem de ser um flutuante no intervalo [0, 1]. |
0,5 |
box_detections_per_image |
Número máximo de deteções por imagem, para todas as classes. Tem de ser um número inteiro positivo. |
100 |
tile_grid_size |
O tamanho da grelha a utilizar para tilar cada imagem. - tile_grid_size não pode ser Nenhum para ativar a lógica de deteção de objetos pequenos .- tile_grid_size não é suportado para tarefas de segmentação de instâncias.Deve ser transmitida como uma cadeia no formato "3x2". Exemplo: --tile_grid_size '3x2' |
Sem Predefinição |
tile_overlap_ratio |
Relação de sobreposição entre mosaicos adjacentes em cada dimensão. Tem de estar a flutuar no intervalo de [0, 1) |
0,25 |
tile_predictions_nms_threshold |
O limiar de IOU a utilizar para executar o NMS enquanto intercala predições de mosaicos e imagens. Utilizado na validação/inferência. Tem de estar a flutuar no intervalo de [0, 1] |
0,25 |