Como treinar, validar, prever, exportar e criar benchmarks com os modelos YOLO da Ultralytics
Aprende a treinar, validar, fazer previsões, exportar e criar benchmarks com os modelos YOLO da Ultralytics!

Vamos mergulhar no mundo da Ultralytics e explorar os diferentes modos disponíveis para diferentes modelos YOLO. Quer estejas a treinar modelos personalizados de deteção de objetos ou a trabalhar em segmentação, compreender estes modos é um passo crucial. Vamos começar!
Através da documentação da Ultralytics, encontrarás vários modos que podes utilizar nos teus modelos, seja para treinar, validar, fazer previsões, exportar, comparar o desempenho ou fazer o rastreio. Cada um destes modos tem uma finalidade única e ajuda-te a otimizar o desempenho e a implementação do teu modelo.
Modo de treino#
Primeiro, vamos analisar o modo de treino. É aqui que crias e aperfeiçoas o teu modelo. Podes encontrar instruções detalhadas e guias em vídeo na documentação, o que facilita o início do treino dos teus modelos personalizados.
O treino de modelos envolve fornecer um novo conjunto de dados a um modelo, permitindo-lhe aprender vários padrões. Depois de treinado, o modelo pode ser utilizado em tempo real para detetar novos objetos com base naquilo que aprendeu durante o treino. Antes de iniciares o processo de treino, é essencial anotares o teu conjunto de dados no formato YOLO.
Modo de validação#
De seguida, vamos explorar o modo de validação. A validação é essencial para ajustar hiperparâmetros e garantir que o teu modelo tem um bom desempenho. A Ultralytics disponibiliza várias opções de validação, incluindo configurações automatizadas, suporte para várias métricas e compatibilidade com a API Python. Também podes executar a validação diretamente através da interface de linha de comandos (CLI) com o comando abaixo.
Porquê validar?#
A validação é essencial para:
- Precisão: garantir que o teu modelo deteta objetos com exatidão.
- Comodidade: simplificar o processo de validação.
- Flexibilidade: disponibilizar 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 de utilização 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 de o teu modelo ser treinado e validado, está na altura de fazer previsões. O modo de previsão permite executar inferência em novos dados e ver o teu 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 fazer previsões nas tuas imagens!
Modo de exportação#
Depois de validares e fazeres previsões, podes querer implementar o teu modelo. O modo de exportação permite converter o teu modelo para vários formatos, como ONNX ou TensorRT, facilitando a implementação em diferentes plataformas.
Modo de comparação de desempenho#
Por fim, temos o modo de comparação de desempenho. A comparação de desempenho é essencial para avaliar o desempenho do teu modelo em vários cenários. Este modo ajuda-te a tomar decisões informadas sobre a alocação de recursos, a otimização e a eficiência de custos.
Como comparar o desempenho#
Para executar uma comparação de desempenho, podes utilizar os exemplos de utilização fornecidos na documentação. Estes exemplos abrangem métricas importantes e formatos de exportação, incluindo ONNX e TensorRT. Também podes especificar parâmetros como a quantização de inteiros (INT8) ou a quantização de vírgula flutuante (FP16) para ver como diferentes configurações afetam o desempenho.
Exemplo de comparação de desempenho no mundo real#
Vejamos um exemplo de comparação de desempenho no mundo real. Quando comparamos o desempenho do nosso modelo PyTorch, observamos uma velocidade de inferência de 68 milissegundos numa GPU RTX 3070. Depois de exportarmos para TorchScript, a velocidade de inferência diminui para 4 milissegundos, demonstrando uma melhoria significativa.
Para modelos ONNX, alcançamos uma velocidade de inferência de 21 milissegundos. Ao testarmos estes modelos numa CPU (um Intel i9 de 13.ª geração), observamos resultados diferentes. O TorchScript é executado em 115 milissegundos, enquanto o ONNX tem um desempenho superior, com 84 milissegundos. Por fim, o OpenVINO otimizado para hardware Intel alcança uns impressionantes 23 milissegundos.

Fig. 1. Nicolai Nielsen a demonstrar como executar uma comparação de desempenho com modelos YOLO da Ultralytics.
A importância da comparação de desempenho#
A comparação de desempenho demonstra como diferentes hardwares e formatos de exportação podem afetar o desempenho do teu modelo. É crucial comparares o desempenho dos teus modelos, especialmente se planeias implementá-los em hardware personalizado ou dispositivos de edge. Este processo garante que o teu modelo está otimizado para o ambiente de destino, proporcionando o melhor desempenho possível.
Conclusão#
Em resumo, os modos da documentação da Ultralytics são ferramentas poderosas para treinar, validar, fazer previsões, exportar e comparar o desempenho dos teus modelos YOLO. Cada modo desempenha um papel essencial na otimização do teu modelo e na sua preparação para a implementação.
Não te esqueças de explorar e participar na nossa comunidade e de experimentar os trechos 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.









