Aferição de modelos com Ultralytics YOLO
Visualização de Benchmark
Atualizar o navegador
Poderá ser necessário atualizar a página para visualizar os gráficos corretamente devido a potenciais problemas com os cookies.
Introdução
Depois de o modelo ser treinado e validado, o próximo passo lógico é avaliar o seu desempenho em vários cenários do mundo real. O modo Benchmark em Ultralytics YOLO11 serve este objetivo, fornecendo uma estrutura robusta para avaliar a velocidade e a precisão do seu modelo numa série de formatos de exportação.
Ver: Ultralytics Tutorial de modos: Referência
Porque é que o Benchmarking é crucial?
- Decisões informadas: Obtenha informações sobre os compromissos entre velocidade e precisão.
- Atribuição de recursos: Compreender o desempenho de diferentes formatos de exportação em diferentes hardwares.
- Otimização: Saiba qual o formato de exportação que oferece o melhor desempenho para o seu caso de utilização específico.
- Eficiência de custos: Utilizar de forma mais eficiente os recursos de hardware com base nos resultados de benchmark.
Principais métricas no modo de referência
- mAP50-95: Para deteção de objectos, segmentação e estimativa de pose.
- accuracy_top5: Para classificação de imagens.
- Tempo de inferência: Tempo necessário para cada imagem em milissegundos.
Formatos de exportação suportados
- ONNX: Para um desempenho ótimo em CPU
- TensorRT: Para uma eficiência máxima GPU
- OpenVINO: Para Intel otimização de hardware
- CoreML, TensorFlow SavedModel , e muito mais: Para diversas necessidades de implantação.
Dica
- Exportação para ONNX ou OpenVINO para uma aceleração de até 3x em CPU .
- Exportação para TensorRT para uma aceleração de até 5x em GPU .
Exemplos de utilização
Execute os benchmarks YOLO11n em todos os formatos de exportação suportados, incluindo ONNX, TensorRT etc. Consulte a secção Argumentos abaixo para obter uma lista completa de argumentos de exportação.
Exemplo
Argumentos
Argumentos como model
, data
, imgsz
, half
, device
e verbose
oferecem aos utilizadores a flexibilidade de ajustar os parâmetros de referência às suas necessidades específicas e comparar facilmente o desempenho de diferentes formatos de exportação.
Chave | Valor por defeito | Descrição |
---|---|---|
model |
None |
Especifica o caminho para o ficheiro do modelo. Aceita ambos .pt e .yaml formatos, por exemplo, "yolo11n.pt" para modelos pré-treinados ou ficheiros de configuração. |
data |
None |
Caminho para um ficheiro YAML que define o conjunto de dados para a avaliação comparativa, incluindo normalmente caminhos e definições para dados de validação. Exemplo: "coco8.yaml" . |
imgsz |
640 |
O tamanho da imagem de entrada para o modelo. Pode ser um único número inteiro para imagens quadradas ou uma tupla (width, height) para não-quadrado, por exemplo, (640, 480) . |
half |
False |
Permite a inferência FP16 (meia-precisão), reduzindo a utilização de memória e possivelmente aumentando a velocidade em hardware compatível. Utilizar half=True para ativar. |
int8 |
False |
Ativa a quantização INT8 para um melhor desempenho optimizado nos dispositivos suportados, especialmente útil para dispositivos de ponta. Definir int8=True para utilizar. |
device |
None |
Define o(s) dispositivo(s) de computação para a aferição de desempenhos, tais como "cpu" ou "cuda:0" . |
verbose |
False |
Controla o nível de detalhe na saída de registo. Um valor booleano; definido verbose=True para registos detalhados ou um valor flutuante para erros de limiar. |
Formatos de exportação
Os testes de referência tentarão ser executados automaticamente em todos os formatos de exportação possíveis abaixo.
Formato | format Argumento |
Modelo | Metadados | Argumentos |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Leve | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , batch |
TF Borda TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 |
Ver completo export
pormenores no Exportação página.
FAQ
Como é que faço uma avaliação comparativa do desempenho do meu modelo YOLO11 utilizando Ultralytics?
Ultralytics YOLO11 oferece um modo Benchmark para avaliar o desempenho do seu modelo em diferentes formatos de exportação. Este modo fornece informações sobre as principais métricas, como a precisão média (mAP50-95), a exatidão e o tempo de inferência em milissegundos. Para executar benchmarks, você pode usar os comandos Python ou CLI . Por exemplo, para fazer benchmark em um GPU:
Exemplo
Para obter mais detalhes sobre os argumentos de referência, visite a secção Argumentos.
Quais são as vantagens de exportar modelos YOLO11 para diferentes formatos?
A exportação de modelos YOLO11 para diferentes formatos, como ONNX, TensorRT e OpenVINO , permite-lhe otimizar o desempenho com base no seu ambiente de implementação. Por exemplo:
- ONNX: Oferece até 3x mais velocidade em CPU .
- TensorRT: Oferece até 5x mais velocidade em GPU .
- OpenVINO: Especificamente optimizado para o hardware Intel . Estes formatos melhoram a velocidade e a precisão dos seus modelos, tornando-os mais eficientes para várias aplicações do mundo real. Visite a página Exportar para obter detalhes completos.
Porque é que o benchmarking é crucial na avaliação dos modelos YOLO11 ?
A avaliação comparativa dos seus modelos YOLO11 é essencial por várias razões:
- Decisões informadas: Compreender as soluções de compromisso entre velocidade e precisão.
- Atribuição de recursos: Avaliar o desempenho em diferentes opções de hardware.
- Otimização: Determinar qual o formato de exportação que oferece o melhor desempenho para casos de utilização específicos.
- Eficiência de custos: Otimizar a utilização de hardware com base em resultados de benchmark. As principais métricas, como mAP50-95, precisão Top-5 e tempo de inferência, ajudam a fazer essas avaliações. Consulte a secção Principais métricas para obter mais informações.
Que formatos de exportação são suportados por YOLO11, e quais são as suas vantagens?
YOLO11 suporta uma variedade de formatos de exportação, cada um adaptado a hardware e casos de utilização específicos:
- ONNX: Melhor para CPU desempenho.
- TensorRT: Ideal para GPU eficiência.
- OpenVINO: Optimizado para o hardware Intel .
- CoreML & TensorFlow: Útil para iOS e aplicações gerais de ML. Para obter uma lista completa dos formatos suportados e as respectivas vantagens, consulte a secção Formatos de exportação suportados.
Que argumentos posso utilizar para afinar os meus parâmetros de referência YOLO11 ?
Ao executar benchmarks, vários argumentos podem ser personalizados para atender a necessidades específicas:
- modelo: Caminho para o ficheiro do modelo (por exemplo, "yolo11n.pt").
- dados: Caminho para um ficheiro YAML que define o conjunto de dados (por exemplo, "coco8.yaml").
- imgsz: O tamanho da imagem de entrada, como um único número inteiro ou uma tupla.
- metade: Ativar a inferência FP16 para um melhor desempenho.
- int8: Ativar a quantização INT8 para dispositivos de borda.
- dispositivo: Especificar o dispositivo de cálculo (por exemplo, "cpu", "cuda:0").
- verboso: Controla o nível de detalhe do registo. Para obter uma lista completa de argumentos, consulte a secção Argumentos.