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 modelosYOLO Ultralytics !

24 de julho de 2024
Saiba como treinar, validar, prever, exportar e fazer benchmark com os modelosYOLO 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!
Nadocumentação Ultralytics , encontrará vários modos que pode utilizar para os seus modelos, quer seja para treinar, validar, prever, exportar, comparar ou track. Cada um destes modos tem uma finalidade única e ajuda-o a otimizar o desempenho e a implementação do seu modelo.
Primeiro, vamos dar uma olhada no modo de treino. É aqui que você constrói e aprimora seu modelo. Você pode encontrar instruções detalhadas e guias em vídeo na documentação, facilitando o início do treino de seus 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 detect 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. 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 comandoCLI) com o comando abaixo.
A validação é crucial para:
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 dispositivoCPU ou GPU) e a intersecção sobre a uniãoIoU).
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 snippet de código python abaixo, você poderá executar previsões em suas imagens!
Depois de validar e prever, 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.
Finalmente, temos o modo de benchmark. O benchmarking é essencial para avaliar o desempenho do seu modelo em vários cenários. Este modo ajuda você a tomar decisões informadas sobre alocaçã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. TorchScript funciona a 115 milissegundos, enquanto ONNX tem um melhor desempenho a 84 milissegundos. Finalmente, OpenVINO optimizado para hardware Intel atinge uns incríveis 23 milissegundos.

A avaliação de desempenho demonstra como diferentes hardwares e formatos de exportação podem impactar o desempenho do seu modelo. É crucial avaliar seus modelos, especialmente se você planeja implementá-los em hardware personalizado ou dispositivos de borda. Este processo garante que seu modelo seja otimizado para o ambiente de destino, proporcionando o melhor desempenho possível.
Em resumo, os modos da documentação 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 participar da nossa comunidade e experimentar os trechos de código fornecidos em seus projetos. Com essas ferramentas, você pode criar modelos de alto desempenho e garantir que eles sejam executados de forma eficiente em qualquer ambiente.