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

Nuvola Ladi

3 min ler

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.

Modo comboio

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.

Modo de validação

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.

Porquê validar?

A validação é fundamental para:

  • Precisão: Garantir que o seu modelo detecta objectos com precisão.
  • Conveniência: Simplificação do processo de validação.
  • Flexibilidade: Oferta de múltiplos métodos de validação.
  • Afinação de hiperparâmetros: Otimização do modelo para um melhor desempenho.

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).

Modo de previsão

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!

Modo de exportação

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.

Modo de referência

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.

Como efetuar a avaliação comparativa

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.

Exemplo de avaliação comparativa no mundo real

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.

__wf_reserved_inherit
Fig. 1. Nicolai Nielsen demonstra como efetuar a avaliação comparativa com os modelos YOLO do Ultralytics.

A importância do benchmarking

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.

Conclusão

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.

Vamos construir juntos o futuro
da IA!

Comece a sua viagem com o futuro da aprendizagem automática

Comece gratuitamente
Ligação copiada para a área de transferência