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

24 de julho de 2024
Aprenda como treinar, validar, prever, exportar e fazer benchmark com os Modelos Ultralytics YOLO!

24 de julho de 2024
Aprenda como treinar, validar, prever, exportar e fazer benchmark com os Modelos Ultralytics YOLO!
Vamos mergulhar no mundo da Ultralytics e explorar os diferentes modos disponíveis para diferentes modelos YOLO. Se você está treinando modelos de detecção de objetos personalizados ou trabalhando em segmentação, entender esses modos é um passo crucial. Vamos começar!
Através da documentação da Ultralytics, você encontrará vários modos que pode utilizar para seus modelos, seja para treinar, validar, prever, exportar, benchmark ou rastrear. Cada um desses modos tem um propósito único e ajuda você a otimizar o desempenho e a implantaçã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 treinamento de modelos envolve fornecer a um modelo um novo conjunto de dados, permitindo que ele aprenda vários padrões. Uma vez treinado, o modelo pode ser usado em tempo real para detectar novos objetos nos quais foi treinado. Antes de iniciar o processo de treinamento, é essencial anotar seu conjunto de dados no formato YOLO.
Em seguida, vamos mergulhar no modo de validação. A validação é essencial para ajustar os hiperparâmetros e garantir que seu modelo tenha um bom desempenho. A Ultralytics oferece uma variedade de opções de validação, incluindo configurações automatizadas, suporte a várias métricas e compatibilidade com a API Python. Você pode até executar a validação diretamente através da interface de linha de comando (CLI) com o comando abaixo.
A validação é crucial para:
A Ultralytics também fornece exemplos de usuários que você pode copiar e colar em seus scripts Python. Esses exemplos incluem parâmetros como tamanho da imagem, tamanho do lote, dispositivo (CPU ou GPU) e interseção sobre união (IoU).
Depois que seu modelo é treinado e validado, é hora de fazer previsões. O modo Predict permite que você execute a inferência em novos dados e veja seu modelo em ação. Este modo é perfeito para testar o desempenho do seu modelo em dados do mundo real.
Com o trecho de código Python abaixo, você poderá executar previsões em suas imagens!
Após validar e prever, você pode querer implantar seu modelo. O modo de exportação permite converter seu modelo em vários formatos, como ONNX ou TensorRT, facilitando a implantaçã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 benchmark, pode usar 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 inteira (INT8) ou a quantização de vírgula flutuante (FP16) para ver como diferentes configurações afetam o desempenho.
Vamos ver um exemplo real de benchmarking. Quando comparamos nosso modelo PyTorch, notamos uma velocidade de inferência de 68 milissegundos em uma GPU RTX 3070. Após a exportação para TorchScript, a velocidade de inferência cai para 4 milissegundos, mostrando uma melhoria significativa.
Para modelos ONNX, alcançamos uma velocidade de inferência de 21 milissegundos. Ao testar estes modelos num CPU (um Intel i9 de 13ª geração), vemos resultados variáveis. O TorchScript é executado a 115 milissegundos, enquanto o ONNX tem um melhor desempenho a 84 milissegundos. Finalmente, o OpenVINO otimizado para hardware Intel atinge uns impressionantes 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 na documentação do Ultralytics são ferramentas poderosas para treinar, validar, prever, exportar e fazer benchmarking de seus modelos YOLO. Cada modo desempenha um papel vital na otimização do seu modelo e na preparação para a implantaçã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.