Verificação verde
Link copiado para a área de transferência

Como treinar, validar, prever, exportar e fazer benchmark com Ultralytics YOLO Models

Aprende a treinar, validar, prever, exportar e fazer benchmark com Ultralytics YOLO Models!

Vamos mergulhar no mundo do Ultralytics e explorar os diferentes modos disponíveis para diferentes modelos do YOLO . Quer estejas a treinar modelos de deteção de objectos personalizados ou a trabalhar na segmentação, compreender estes modos é um passo crucial. Vamos começar já!

Através dadocumentação Ultralytics , encontrarás vários modos que podes utilizar para os teus modelos, quer seja para treinar, validar, prever, exportar, comparar ou acompanhar. Cada um destes modos tem uma finalidade única e ajuda-te a otimizar o desempenho e a implementação do teu modelo.

Modo de comboio

Primeiro, vamos ver o modo comboio. É aqui que constróis e aperfeiçoas o teu modelo. Podes encontrar instruções detalhadas e guias de vídeo na documentação, o que facilita o início do treino dos teus modelos personalizados.

O treino de modelos envolve fornecer a um modelo um novo conjunto de dados, permitindo-lhe aprender vários padrões. Uma vez treinado, o modelo pode ser utilizado em tempo real para detetar novos objectos com os quais foi treinado. Antes de iniciar o processo de formação, é essencial anotar o teu conjunto de dados no formato YOLO .

Modo de validação

Em seguida, vamos mergulhar no modo de validação. A validação é essencial para ajustar os hiperparâmetros e garantir o bom desempenho do seu modelo. Ultralytics fornece uma variedade de opções de validação, incluindo configurações automatizadas, suporte multimétrico e compatibilidade com a API Python . Podes até executar a validação diretamente através da interface de linha de comandos (CLI) com o comando abaixo.


yolo detect val model=yolov8n.pt # val official model

Porquê validar?

A validação é fundamental para:

  • Precisão: Assegura que o teu modelo detecta os objectos com precisão.
  • Comodidade: Simplifica o processo de validação.
  • Flexibilidade: Oferece vários métodos de validação.
  • Afinação de hiperparâmetros: Otimizar o teu modelo para um melhor desempenho.

Ultralytics também fornece exemplos de usuários que podem ser copiados e colados em seus scripts Python . Esses exemplos incluem parâmetros como tamanho da imagem, tamanho do lote, dispositivo (CPU ou GPU) e intersecção sobre união (IoU).

Modo de previsão

Quando o teu modelo estiver treinado e validado, é altura de fazer previsões. O modo Prever permite executar a inferência em novos dados e ver o modelo em ação. Este modo é perfeito para testar o desempenho do teu modelo em dados do mundo real.

Com o trecho de código python abaixo, poderás executar previsões nas tuas imagens!


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

Modo de exportação

Depois de validar e prever, podes querer implementar o teu modelo. O modo de exportação permite-te converter o teu modelo em vários formatos, como ONNX ou TensorRT, facilitando a implementação em diferentes plataformas.

Modo de referência

Por fim, temos o modo de benchmark. O benchmarking é essencial para avaliar o desempenho do teu modelo em vários cenários. Este modo ajuda-te a tomar decisões informadas sobre a atribuição de recursos, otimização e eficiência de custos.

Como fazer uma avaliação comparativa

Para executar um parâmetro de referência, podes utilizar os exemplos de utilizador fornecidos na documentação. Estes exemplos abrangem métricas chave e formatos de exportação, incluindo ONNX e TensorRT. Também podes especificar parâmetros como a quantização de números inteiros (INT8) ou a quantização de pontos flutuantes (FP16) para veres como as diferentes definições afectam o desempenho.

Exemplo de Benchmarking no mundo real

Vejamos um exemplo real de avaliação comparativa. Quando avaliamos nosso modelo PyTorch , notamos uma velocidade de inferência de 68 milissegundos em um RTX 3070 GPU. Depois de exportar para TorchScript, a velocidade de inferência cai para 4 milissegundos, mostrando uma melhoria significativa.

Para os modelos ONNX , obtemos uma velocidade de inferência de 21 milissegundos. Testando esses modelos em um CPU (um Intel i9 13ª geração), vemos resultados variados. TorchScript é executado em 115 milissegundos, enquanto ONNX tem um desempenho melhor em 84 milissegundos. Finalmente, o OpenVINO optimizado para hardware Intel atinge uns incríveis 23 milissegundos.

Fig. 1. Nicolai Nielsen demonstra como executar a avaliação comparativa com Ultralytics YOLO Models.

A importância do Benchmarking

O benchmarking demonstra como diferentes formatos de hardware e de exportação podem afetar o desempenho do teu modelo. É crucial fazer o benchmarking dos teus modelos, especialmente se planeias implementá-los em hardware personalizado ou dispositivos de ponta. Este processo garante que o teu modelo é optimizado para o ambiente de destino, proporcionando o melhor desempenho possível.

Conclusão

Em resumo, os modos da documentação Ultralytics são ferramentas poderosas para treinar, validar, prever, exportar e avaliar os teus modelos YOLO . Cada modo desempenha um papel vital na otimização do modelo e na sua preparação para a implementação.

Não te esqueças de explorar e de te juntares à nossa comunidade e de experimentar os trechos de código fornecidos nos teus projectos. Com estas ferramentas, podes criar modelos de elevado desempenho e garantir que funcionam eficientemente em qualquer ambiente.

Logótipo do FacebookLogótipo do TwitterLogótipo do LinkedInSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática