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

24 de julho de 2024
Saiba como treinar, validar, prever, exportar e fazer benchmark com os modelos YOLO da Ultralytics!

24 de julho de 2024
Saiba como treinar, validar, prever, exportar e fazer benchmark com os modelos YOLO da Ultralytics!
Vamos mergulhar no mundo do Ultralytics e explorar os diferentes modos disponíveis para os diferentes modelos YOLO. Quer esteja a treinar modelos de deteção de objectos personalizados ou a trabalhar na segmentação, compreender estes modos é um passo crucial. Vamos lá começar!
Através da documentação do Ultralytics , encontrará vários modos que pode utilizar para os seus modelos, quer seja para treinar, validar, prever, exportar, aferir ou acompanhar. Cada um destes modos tem uma finalidade única e ajuda-o a otimizar o desempenho e a implementação do seu modelo.
Em primeiro lugar, vamos ver o modo comboio. É aqui que constrói e aperfeiçoa o seu modelo. Pode encontrar instruções detalhadas e guias de vídeo na documentação, o que facilita o início do treino dos seus modelos personalizados.
A formação de modelos implica 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 conjunto de dados no formato YOLO.
De seguida, vamos mergulhar no modo de validação. A validação é essencial para ajustar os hiperparâmetros e garantir o bom desempenho do modelo. O Ultralytics oferece uma variedade de opções de validação, incluindo configurações automatizadas, suporte multimétrico e compatibilidade com a API Python. É possível até mesmo executar a validação diretamente pela interface de linha de comando (CLI) com o comando abaixo.
A validação é fundamental para:
O Ultralytics também fornece exemplos de utilizadores que pode copiar e colar nos seus scripts Python. Estes exemplos incluem parâmetros como o tamanho da imagem, o tamanho do lote, o dispositivo (CPU ou GPU) e a intersecção sobre a união (IoU).
Depois de o modelo ser treinado e validado, é altura de fazer previsões. O modo Prever permite executar a inferência em novos dados e ver seu modelo em ação. Este modo é perfeito para testar o desempenho do seu modelo em dados do mundo real.
Com o fragmento de código python abaixo, poderá executar previsões nas suas imagens!
Após a validação e a previsão, pode querer implementar o seu modelo. O modo de exportação permite-lhe converter o seu modelo em vários formatos, como ONNX ou TensorRT, facilitando a implementação em diferentes plataformas.
Por último, temos o modo de avaliação de desempenho. O benchmarking é essencial para avaliar o desempenho do seu modelo em vários cenários. Este modo ajuda-o a tomar decisões informadas sobre a atribuição de recursos, otimização e eficiência de custos.
Para executar um parâmetro de referência, pode 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 pode especificar parâmetros como a quantização de inteiros (INT8) ou a quantização de ponto flutuante (FP16) para ver como as diferentes definições afectam o desempenho.
Vejamos um exemplo real de benchmarking. Quando avaliamos nosso modelo PyTorch, notamos uma velocidade de inferência de 68 milissegundos em uma GPU RTX 3070. Depois de exportar para o TorchScript, a velocidade de inferência cai para 4 milissegundos, mostrando uma melhoria significativa.
Para os modelos ONNX, atingimos uma velocidade de inferência de 21 milissegundos. Testando esses modelos em uma CPU (uma Intel i9 13ª geração), vemos resultados variados. O TorchScript funciona a 115 milissegundos, enquanto o ONNX tem um melhor desempenho a 84 milissegundos. Finalmente, o OpenVINO optimizado para hardware Intel atinge uns incríveis 23 milissegundos.
O benchmarking demonstra como diferentes formatos de hardware e exportação podem afetar o desempenho do seu modelo. É crucial fazer benchmarking dos seus modelos, especialmente se planeia implementá-los em hardware personalizado ou dispositivos de ponta. Este processo garante que o seu modelo é optimizado para o ambiente de destino, proporcionando o melhor desempenho possível.
Em resumo, os modos da documentação do Ultralytics são ferramentas poderosas para treinar, validar, prever, exportar e avaliar comparativamente os seus modelos YOLO. Cada modo desempenha um papel vital na otimização do seu modelo e na sua preparação para a implementação.
Não se esqueça de explorar e juntar-se à nossa comunidade e experimentar os trechos de código fornecidos nos seus projectos. Com estas ferramentas, pode criar modelos de elevado desempenho e garantir que funcionam eficientemente em qualquer ambiente.