Hiperparâmetros para tarefas de pesquisa visual computacional no machine learning automatizado (v1)
APLICA-SE A: SDK do Python azureml v1
Saiba quais hiperparâmetros estão disponíveis especificamente para as tarefas de pesquisa visual computacional nos experimentos do ML automatizado.
Com suporte a tarefas de pesquisa visual computacional, você pode controlar o algoritmo de modelo e os hiperparâmetros de varredura. Esses algoritmos de modelo e hiperparâmetros são transmitidos como o espaço de parâmetro para a varredura. Embora muitos hiperparâmetros expostos sejam independentes do modelo, há instâncias em que os hiperparâmetros são específicos do modelo ou da tarefa.
Hiperparâmetros específicos do modelo
Esta tabela resume os hiperparâmetros específicos do algoritmo yolov5
.
Nome do parâmetro | Descrição | Padrão |
---|---|---|
validation_metric_type |
Método de computação de métrica a ser usado em métricas de validação. Precisa ser none , coco , voc ou coco_voc . |
voc |
validation_iou_threshold |
Limite de IOU para correspondência de caixa ao computar métricas de validação. Deve ser um float no intervalo [0.1, 1]. |
0,5 |
img_size |
Tamanho da imagem para treinamento e validação. Deve ser um número inteiro positivo. Observação: a execução de treinamento poderá entrar em CUDA OOM se o tamanho for muito grande. |
640 |
model_size |
Tamanho do modelo. Precisa ser small , medium , large ou xlarge . Observação: a execução de treinamento poderá entrar em CUDA OOM se o tamanho do modelo for muito grande. |
medium |
multi_scale |
Habilitar imagem em várias escalas variando o tamanho da imagem por +/-50% Precisa ser 0 ou 1. Observação: a execução de treinamento poderá entrar em CUDA OOM se não houver memória GPU suficiente. |
0 |
box_score_thresh |
Durante a inferência, retornar apenas propostas com uma pontuação maior que box_score_thresh . A pontuação é a multiplicação da pontuação de objeções e da probabilidade de classificação. Precisa ser um float no intervalo [0, 1]. |
0,1 |
nms_iou_thresh |
Limite de IOU usado durante a inferência no pós-processamento de supressão não máxima. Precisa ser um float no intervalo [0, 1]. |
0,5 |
tile_grid_size |
O tamanho da grade a ser usado para a divisão em blocos de cada imagem. Observação: tile_grid_size precisa não ser None para habilitar a lógica de detecção de objeto pequeno Tupla de dois inteiros transmitida como uma cadeia de caracteres. Exemplo:--tile_grid_size "(3, 2)" |
Sem padrão |
tile_overlap_ratio |
Taxa de sobreposição entre blocos adjacentes em cada dimensão. Precisa ser um float no intervalo [0, 1) |
0,25 |
tile_predictions_nms_thresh |
O limite de IOU a ser usado para executar NMS durante a mescla de previsões de blocos e imagens. Usado em validação/inferência. Precisa ser um float no intervalo [0, 1] |
0,25 |
Esta tabela resume os hiperparâmetros específicos de maskrcnn_*
para a segmentação da instância durante a inferência.
Nome do parâmetro | Descrição | Padrão |
---|---|---|
mask_pixel_score_threshold |
Corte de pontuação para 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 |
Exportação de máscaras como imagens. | Falso |
image_type |
Tipo de imagem para exportação da máscara como (as opções são JPG, PNG e BMP). | JPG |
Hiperparâmetros que independem do modelo
A tabela a seguir descreve os hiperparâmetros que independem do modelo.
Nome do parâmetro | Descrição | Padrão |
---|---|---|
number_of_epochs |
Número de épocas de treinamento. Deve ser um número inteiro positivo. |
15 (exceto yolov5 : 30) |
training_batch_size |
Tamanho do lote de treinamento. Deve ser um número inteiro positivo. |
Várias classes/vários rótulos: 78 (exceto vit-variants: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Detecção de objetos: 2 (exceto yolov5 : 16) Segmentação de instâncias: 2 Observação: os padrões são o maior tamanho de lote que possa ser usado na memória de GPU de 12 GiB. |
validation_batch_size |
Tamanho do lote de validação. Deve ser um número inteiro positivo. |
Várias classes/vários rótulos: 78 (exceto vit-variants: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Detecção de objetos: 1 (exceto yolov5 : 16) Segmentação de instâncias: 1 Observação: os padrões são o maior tamanho de lote que possa ser usado na memória de GPU de 12 GiB. |
grad_accumulation_step |
A acumulação de gradiente significa executar um número configurado de grad_accumulation_step sem atualizar os pesos do modelo ao acumular os gradientes dessas etapas e, em seguida, usar os gradientes acumulados para calcular as atualizações de peso. Deve ser um número inteiro positivo. |
1 |
early_stopping |
Habilitar a lógica de parada antecipada durante o treinamento. Precisa ser 0 ou 1. |
1 |
early_stopping_patience |
Número mínimo de épocas ou avaliações de validação sem nenhuma melhoria de métrica primária antes que a execução seja interrompida. Deve 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 que o aprimoramento da métrica primária seja rastreado para parada antecipada. Deve ser um número inteiro positivo. |
5 |
learning_rate |
Taxa de aprendizagem inicial. Precisa ser um float no intervalo [0, 1]. |
Várias classes: 0,01 (exceto vit-variants: vits16r224 : 0,0125vitb16r224 : 0,0125vitl16r224 : 0,001) Vários rótulos: 0,035 (exceto vit-variants: vits16r224 : 0,025vitb16r224 : 0,025 vitl16r224 : 0,002) Detecção de objetos: 0,005 (exceto yolov5 : 0.01) Segmentação de instância: 0,005 |
lr_scheduler |
Tipo de agendador de taxa de aprendizagem. Deve ser warmup_cosine ou step . |
warmup_cosine |
step_lr_gamma |
Valor de gama quando o agendador de taxa de aprendizagem é step .Precisa ser um float no intervalo [0, 1]. |
0,5 |
step_lr_step_size |
Valor do tamanho da etapa quando o agendador de taxa de aprendizagem é step .Deve ser um número inteiro positivo. |
5 |
warmup_cosine_lr_cycles |
Valor do ciclo cosseno quando o agendador de taxa de aprendizagem é warmup_cosine . Precisa ser um float no intervalo [0, 1]. |
0,45 |
warmup_cosine_lr_warmup_epochs |
Valor de épocas de aquecimento quando o agendador de taxa de aprendizagem é warmup_cosine . Deve ser um número inteiro positivo. |
2 |
optimizer |
Tipo de otimizador. Precisa ser sgd , adam ou adamw . |
sgd |
momentum |
Valor de momentum quando o otimizador é sgd . Precisa ser um float no intervalo [0, 1]. |
0,9 |
weight_decay |
Valor de decaimento de peso quando o otimizador é sgd adam ou adamw . Precisa ser um float no intervalo [0, 1]. |
1e-4 |
nesterov |
Habilitar nesterov quando o otimizador é sgd . Precisa ser 0 ou 1. |
1 |
beta1 |
Valor de beta1 quando o otimizador é adam ou adamw . Precisa ser um float no intervalo [0, 1]. |
0,9 |
beta2 |
Valor de beta2 quando o otimizador é adam ou adamw .Precisa ser um float no intervalo [0, 1]. |
0,999 |
amsgrad |
Habilitar amsgrad quando o otimizador é adam ou adamw .Precisa ser 0 ou 1. |
0 |
evaluation_frequency |
Frequência para avaliar o conjunto de dados de validação a fim de obter pontuações de métrica. Deve ser um número inteiro positivo. |
1 |
checkpoint_frequency |
Frequência para armazenar pontos de verificação do modelo. Deve ser um número inteiro positivo. |
Ponto de verificação na época com a melhor métrica primária na validação. |
checkpoint_run_id |
A ID de execução do experimento que tem um ponto de verificação pré-treinado para treinamento incremental. | sem padrão |
checkpoint_dataset_id |
ID do FileDataset contendo pontos de verificação pré-treinados para treinamento incremental. Certifique-se de passar checkpoint_filename com checkpoint_dataset_id . |
sem padrão |
checkpoint_filename |
O nome do arquivo de ponto de verificação pré-treinado em FileDataset para treinamento incremental. Certifique-se de passar checkpoint_dataset_id com checkpoint_filename . |
sem padrão |
layers_to_freeze |
Quantas camadas devem ser congeladas para seu modelo. Por exemplo, a transmissão de 2 como valor para seresnext significa congelar layer0 e layer1 em relação às informações de camada de modelo com suporte abaixo. Deve 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 padrão |
Hiperparâmetros específicos de classificação de imagem (multiclasse e multirrótulos)
A tabela a seguir resume os hiperparâmetros para tarefas de classificação de imagem (várias classes e vários rótulos).
Nome do parâmetro | Descrição | Padrão |
---|---|---|
weighted_loss |
0 sem perda ponderada. 1 para perda ponderada com sqrt. (class_weights) 2 para perda ponderada com class_weights. Precisa ser 0, 1 ou 2. |
0 |
valid_resize_size |
Anotações: seresnext não assume um tamanho arbitrário. |
256 |
valid_crop_size |
Anotações: seresnext não assume um tamanho arbitrário. valid_crop_size e train_crop_size . |
224 |
train_crop_size |
Anotações: seresnext não assume um tamanho arbitrário. valid_crop_size e train_crop_size . |
224 |
Hiperparâmetros específicos da tarefa de detecção de objetos e segmentação de instâncias
Os hiperparâmetros a seguir servem para tarefas de segmentação de instância e detecção de objetos.
Aviso
Não há suporte a esses parâmetros com o algoritmo yolov5
. Consulte a seção hiperparâmetros específicos do modelo para obter osyolov5
hiperparâmetros com suporte.
Nome do parâmetro | Descrição | Padrão |
---|---|---|
validation_metric_type |
Método de computação de métrica a ser usado em métricas de validação. Precisa ser none , coco , voc ou coco_voc . |
voc |
validation_iou_threshold |
Limite de IOU para correspondência de caixa ao computar métricas de validação. Deve ser um float no intervalo [0.1, 1]. |
0,5 |
min_size |
Tamanho mínimo da imagem a ser redimensionada antes de alimentar o backbone. Deve ser um número inteiro positivo. Observação: a execução de treinamento poderá entrar em CUDA OOM se o tamanho for muito grande. |
600 |
max_size |
Tamanho máximo da imagem a ser redimensionada antes de alimentar o backbone. Deve ser um número inteiro positivo. Observação: a execução de treinamento poderá entrar em CUDA OOM se o tamanho for muito grande. |
1333 |
box_score_thresh |
Durante a inferência, só retornar propostas com uma pontuação de classificação maior que box_score_thresh . Precisa ser um float no intervalo [0, 1]. |
0.3 |
nms_iou_thresh |
Limite de IOU (interseção sobre união) usado em NMS (supressão não máxima) para o cabeçalho de previsão. Usado durante a inferência. Precisa ser um float no intervalo [0, 1]. |
0,5 |
box_detections_per_img |
Número máximo de detecções por imagem, para todas as classes. Deve ser um número inteiro positivo. |
100 |
tile_grid_size |
O tamanho da grade a ser usado para a divisão em blocos de cada imagem. Observação: tile_grid_size precisa não ser None para habilitar a lógica de detecção de objeto pequeno Tupla de dois inteiros transmitida como uma cadeia de caracteres. Exemplo:--tile_grid_size "(3, 2)" |
Sem padrão |
tile_overlap_ratio |
Taxa de sobreposição entre blocos adjacentes em cada dimensão. Precisa ser um float no intervalo [0, 1) |
0,25 |
tile_predictions_nms_thresh |
O limite de IOU a ser usado para executar NMS durante a mescla de previsões de blocos e imagens. Usado em validação/inferência. Precisa ser um float no intervalo [0, 1] |
0,25 |