Como treinar, validar, fazer previsões, exportar e avaliar o desempenho dos modelos Ultralytics YOLO
Saiba como funcionam os modos train, val, predict, export, track e benchmark do Ultralytics YOLO, com dicas sobre métricas de validação e resultados de benchmarks em situações reais.
Nuvola Ladi4 min de leitura
Os modelos YOLO da Ultralytics incluem vários modos que abrangem todo o ciclo de vida do modelo. Seja para treinar modelos personalizados de detecção de objetos ou trabalhar com segmentação, entender esses modos é uma etapa fundamental.
Na documentação da Ultralytics, você encontra vários modos que pode usar com seus modelos para treinar, validar, prever, exportar, rastrear ou comparar o desempenho. Cada modo tem uma finalidade específica e ajuda a otimizar o desempenho e a implantação do seu modelo.
Modo de treino#
Vamos começar pelo modo de treinamento. É nele que você cria e aprimora seu modelo. A documentação oferece instruções detalhadas e guias em vídeo, facilitando o início do treinamento dos seus modelos personalizados.
O treinamento de um modelo consiste em fornecer a ele um novo conjunto de dados para que aprenda vários padrões. Depois de treinado, o modelo pode ser usado em tempo real para detectar novos objetos com os quais foi treinado. Antes de iniciar o processo de treinamento, é essencial anotar seu conjunto de dados no formato YOLO.
Modo de validação#
Agora, vamos ver o modo de validação. A validação é essencial para ajustar hiperparâmetros e garantir o bom desempenho do seu modelo. A Ultralytics oferece várias opções de validação, incluindo configurações automatizadas, suporte a várias métricas e compatibilidade com a API do Python. Você pode até executar a validação diretamente pela interface de linha de comando (CLI) com um único comando.
Porquê validar?#
A validação é fundamental para:
- Precisão: Garantir que o teu modelo deteta objetos com precisão.
- Praticidade: Simplificar o processo de validação.
- Flexibilidade: Oferecer vários métodos de validação.
- Ajuste de hiperparâmetros: Otimizar o teu modelo para obter um melhor desempenho.
A Ultralytics também disponibiliza exemplos que podes copiar e colar nos teus scripts Python. Estes exemplos incluem parâmetros como o tamanho da imagem, o tamanho do lote, o dispositivo (CPU ou GPU) e a interseção sobre união (IoU).
Modo de previsão#
Depois que seu modelo for treinado e validado, é hora de fazer previsões. O modo Predict permite executar inferências em novos dados e ver seu modelo em ação. Esse modo é ideal para testar o desempenho do seu modelo com dados do mundo real. Com apenas algumas linhas de código Python, você poderá fazer previsões nas suas imagens.
Modo de exportação#
Depois de validares o modelo e fazeres previsões, talvez queiras implementá-lo. O modo de exportação permite converter o modelo para vários formatos, como ONNX ou TensorRT, facilitando a implementação em diferentes plataformas.
Modo de avaliação de desempenho#
Por fim, temos o modo de avaliação de desempenho. A avaliação de desempenho é essencial para analisar 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, a otimização e a eficiência de custos.
Como avaliar o desempenho#
Para executar uma comparação de desempenho, você pode usar os exemplos de uso fornecidos na documentação. Esses exemplos abrangem métricas importantes e formatos de exportação, incluindo ONNX e TensorRT. Você também pode definir o argumento quantize para quantização de inteiros (INT8) ou precisão de meia precisão (FP16) e observar como configurações diferentes afetam o desempenho.
Exemplo de avaliação de desempenho no mundo real#
Vejamos um exemplo de avaliação de desempenho no mundo real. Ao avaliar o nosso modelo PyTorch, observamos uma velocidade de inferência de 68 milissegundos numa GPU RTX 3070. Depois de exportar para TorchScript, a velocidade de inferência desce para 4 milissegundos, o que demonstra uma melhoria significativa.
Para modelos ONNX, alcançamos uma velocidade de inferência de 21 milissegundos. Ao testar esses modelos em uma CPU (Intel i9 de 13ª geração), observamos resultados variados. TorchScript leva 115 milissegundos, enquanto ONNX tem um desempenho melhor, com 84 milissegundos. Por fim, OpenVINO, otimizado para hardware Intel, alcança 23 milissegundos.

Fig. 1. Nicolai Nielsen demonstra como comparar o desempenho dos modelos YOLO da Ultralytics.
A importância da avaliação de desempenho#
A avaliação de desempenho demonstra como diferentes hardwares e formatos de exportação podem afetar o desempenho do teu modelo. É fundamental avaliar os teus modelos, sobretudo se planeias implementá-los em hardware personalizado ou dispositivos de edge. Este processo garante que o modelo está otimizado para o ambiente de destino e oferece o melhor desempenho possível.
Conclusão#
Em suma, os modos da documentação da Ultralytics são ferramentas poderosas para treinar, validar, fazer previsões, exportar e avaliar o desempenho dos teus modelos YOLO. Cada modo desempenha um papel essencial na otimização do modelo e na sua preparação para implementação.
Não te esqueças de explorar e juntar-te à nossa comunidade e de experimentar os excertos de código fornecidos nos teus projetos. Com estas ferramentas, podes criar modelos de alto desempenho e garantir que funcionam de forma eficiente em qualquer ambiente.
Escrito por
Comentários
Faça uma pergunta, compartilhe seus resultados ou ajude alguém.










