You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.0 KiB

comments description keywords
true Aprenda a avaliar a velocidade e a precisão do YOLOv8 em diversos formatos de exportação; obtenha informações sobre métricas mAP50-95, accuracy_top5 e mais. Ultralytics, YOLOv8, benchmarking, perfilagem de velocidade, perfilagem de precisão, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, formatos de exportação YOLO

Benchmarking de Modelos com o Ultralytics YOLO

Ecossistema Ultralytics YOLO e integrações

Introdução

Uma vez que seu modelo esteja treinado e validado, o próximo passo lógico é avaliar seu desempenho em diversos cenários do mundo real. O modo de benchmark no Ultralytics YOLOv8 serve a esse propósito, oferecendo uma estrutura robusta para avaliar a velocidade e a precisão do seu modelo em uma gama de formatos de exportação.

Por Que o Benchmarking é Crucial?

  • Decisões Informadas: Obtenha insights sobre o equilíbrio entre velocidade e precisão.
  • Alocação de Recursos: Entenda como diferentes formatos de exportação se comportam em diferentes hardwares.
  • Otimização: Aprenda qual formato de exportação oferece o melhor desempenho para o seu caso específico.
  • Eficiência de Custos: Faça uso mais eficiente dos recursos de hardware com base nos resultados do benchmark.

Métricas Chave no Modo de Benchmark

  • mAP50-95: Para detecção de objetos, segmentação e estimativa de pose.
  • accuracy_top5: Para classificação de imagens.
  • Tempo de Inferência: Tempo levado para cada imagem em milissegundos.

Formatos de Exportação Suportados

  • ONNX: Para desempenho ótimo em CPU
  • TensorRT: Para eficiência máxima em GPU
  • OpenVINO: Para otimização em hardware Intel
  • CoreML, TensorFlow SavedModel e Mais: Para uma variedade de necessidades de implantação.

!!! Tip "Dica"

* Exporte para ONNX ou OpenVINO para acelerar até 3x a velocidade em CPU.
* Exporte para TensorRT para acelerar até 5x em GPU.

Exemplos de Uso

Execute benchmarks do YOLOv8n em todos os formatos de exportação suportados incluindo ONNX, TensorRT etc. Consulte a seção Argumentos abaixo para ver uma lista completa de argumentos de exportação.

!!! Example "Exemplo"

=== "Python"

    ```python
    from ultralytics.utils.benchmarks import benchmark

    # Benchmark na GPU
    benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
    ```
=== "CLI"

    ```bash
    yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
    ```

Argumentos

Argumentos como model, data, imgsz, half, device e verbose proporcionam aos usuários flexibilidade para ajustar os benchmarks às suas necessidades específicas e comparar o desempenho de diferentes formatos de exportação com facilidade.

Chave Valor Descrição
model None caminho para o arquivo do modelo, ou seja, yolov8n.pt, yolov8n.yaml
data None caminho para o YAML com dataset de benchmarking (sob o rótulo val)
imgsz 640 tamanho da imagem como um escalar ou lista (h, w), ou seja, (640, 480)
half False quantização FP16
int8 False quantização INT8
device None dispositivo para execução, ou seja, dispositivo cuda=0 ou device=0,1,2,3 ou device=cpu
verbose False não continuar em erro (bool), ou limiar mínimo para val (float)

Formatos de Exportação

Os benchmarks tentarão executar automaticamente em todos os possíveis formatos de exportação listados abaixo.

Formato Argumento format Modelo Metadados Argumentos
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ imgsz, half
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms
Modelo Salvo do TF saved_model yolov8n_saved_model/ imgsz, keras
GraphDef do TF pb yolov8n.pb imgsz
TF Lite tflite yolov8n.tflite imgsz, half, int8
TF Edge TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz
PaddlePaddle paddle yolov8n_paddle_model/ imgsz
ncnn ncnn yolov8n_ncnn_model/ imgsz, half

Veja os detalhes completos de exportação na página Export.