Meet YOLO26: next-gen vision AI.

Link to this sectionComo criar um Exemplo Mínimo Reproduzível para relatórios de bugs#

Ao enviar um relatório de bug para repositórios Ultralytics YOLO, é essencial fornecer um Exemplo Mínimo Reproduzível (MRE). Um MRE é uma pequena peça de código autossuficiente que demonstra o problema que você está enfrentando. Fornecer um MRE ajuda os mantenedores e colaboradores a entender o problema e trabalhar em uma correção com mais eficiência. Este guia explica como criar um MRE ao enviar relatórios de bugs para repositórios Ultralytics YOLO.

Link to this sectionIsole o problema#

O primeiro passo para criar um MRE é isolar o problema. Remova qualquer código ou dependência desnecessária que não esteja diretamente relacionada ao problema. Foque na parte específica do código que está causando o erro e elimine quaisquer seções irrelevantes.

Link to this sectionUse modelos e conjuntos de dados públicos#

Ao criar um MRE, use modelos e conjuntos de dados publicamente disponíveis para reproduzir o problema. Por exemplo, use o modelo yolo26n.pt e o conjunto de dados coco8.yaml. Isso garante que os mantenedores e colaboradores possam facilmente executar seu exemplo e investigar o problema sem precisar de acesso a dados proprietários ou modelos personalizados.

Link to this sectionInclua todas as dependências necessárias#

Certifique-se de que todas as dependências necessárias estejam incluídas no seu MRE. Se o seu código depender de bibliotecas externas, especifique os pacotes necessários e suas versões. Idealmente, liste as dependências no seu relatório de bug usando yolo checks se você tiver o ultralytics instalado ou pip list para outras ferramentas.

Link to this sectionEscreva uma descrição clara do problema#

Forneça uma descrição clara e concisa do problema que você está enfrentando. Explique o comportamento esperado e o comportamento real que você está encontrando. Se aplicável, inclua quaisquer mensagens de erro ou logs relevantes.

Link to this sectionFormate seu código corretamente#

Formate seu código corretamente usando blocos de código na descrição do problema. Isso torna mais fácil para os outros lerem e entenderem seu código. No GitHub, você pode criar um bloco de código envolvendo seu código com três crases (```) e especificando a linguagem:

```python
# Your Python code goes here
```

Link to this sectionTeste seu MRE#

Antes de enviar seu MRE, teste-o para garantir que ele reproduza o problema com precisão. Certifique-se de que outros possam executar seu exemplo sem problemas ou modificações.

Link to this sectionExemplo de um MRE#

Aqui está um exemplo de um MRE para um relatório de bug hipotético:

Descrição do bug:

Ao executar a inferência em uma imagem de 0 canais, recebo um erro relacionado às dimensões do tensor de entrada.

MRE:

import torch

from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

# Load a 0-channel image
image = torch.rand(1, 0, 640, 640)

# Run the model
results = model(image)

Mensagem de erro:

RuntimeError: Expected input[1, 0, 640, 640] to have 3 channels, but got 0 channels instead

Dependências:

  • torch==2.3.0
  • ultralytics==8.2.0

Neste exemplo, o MRE demonstra o problema com uma quantidade mínima de código, usa um modelo público ("yolo26n.pt"), inclui todas as dependências necessárias e fornece uma descrição clara do problema juntamente com a mensagem de erro.

Seguindo estas diretrizes, você ajudará os mantenedores e colaboradores dos repositórios Ultralytics YOLO a entender e resolver seu problema de forma mais eficiente.

Link to this sectionFAQ#

Link to this sectionComo crio um Exemplo Mínimo Reproduzível (MRE) eficaz para relatórios de bugs em repositórios Ultralytics YOLO?#

Para criar um Exemplo Mínimo Reproduzível (MRE) eficaz para relatórios de bugs em repositórios Ultralytics YOLO, siga estes passos:

  1. Isole o Problema: Remova qualquer código ou dependência que não esteja diretamente relacionado ao problema.
  2. Use Modelos e Conjuntos de Dados Públicos: Utilize recursos públicos como yolo26n.pt e coco8.yaml para facilitar a reprodutibilidade.
  3. Inclua Todas as Dependências Necessárias: Especifique os pacotes necessários e suas versões. Você pode listar as dependências usando yolo checks se tiver o ultralytics instalado ou pip list.
  4. Escreva uma Descrição Clara do Problema: Explique o comportamento esperado e o real, incluindo quaisquer mensagens de erro ou logs.
  5. Formate seu Código Corretamente: Use blocos de código para formatar seu código, tornando-o mais fácil de ler.
  6. Teste seu MRE: Certifique-se de que seu MRE reproduza o problema sem modificações.

Para um guia detalhado, consulte Criando um Exemplo Mínimo Reproduzível.

Link to this sectionPor que devo usar modelos e conjuntos de dados publicamente disponíveis no meu MRE para relatórios de bugs do Ultralytics YOLO?#

Usar modelos e conjuntos de dados disponíveis publicamente no seu MRE garante que os mantenedores possam executar facilmente seu exemplo sem precisar de acesso a dados proprietários. Isso permite uma resolução de problemas mais rápida e eficiente. Por exemplo, usar o modelo yolo26n.pt e o conjunto de dados coco8.yaml ajuda a padronizar e simplificar o processo de depuração. Saiba mais sobre modelos e conjuntos de dados públicos na seção Use Modelos e Conjuntos de Dados Públicos.

Link to this sectionQue informações devo incluir no meu relatório de bug para o Ultralytics YOLO?#

Um relatório de bug abrangente para o Ultralytics YOLO deve incluir:

  • Descrição Clara: Explique o problema, o comportamento esperado e o comportamento real.
  • Mensagens de Erro: Inclua quaisquer mensagens de erro ou logs relevantes.
  • Dependências: Liste as dependências necessárias e suas versões.
  • MRE: Forneça um Exemplo Mínimo Reproduzível.
  • Passos para Reproduzir: Descreva os passos necessários para reproduzir o problema.

Para uma lista de verificação completa, consulte a seção Escreva uma Descrição Clara do Problema.

Link to this sectionComo posso formatar meu código corretamente ao enviar um relatório de bug no GitHub?#

Para formatar seu código corretamente ao enviar um relatório de bug no GitHub:

  • Use três crases (```) para criar blocos de código.
  • Especifique a linguagem de programação para destaque de sintaxe, por exemplo, ```python.
  • Certifique-se de que seu código esteja recuado corretamente para facilitar a leitura.

Exemplo:

```python
# Your Python code goes here
```

Para mais dicas sobre formatação de código, veja Formate seu Código Corretamente.

Link to this sectionQuais são alguns erros comuns a verificar antes de enviar meu MRE para um relatório de bug?#

Antes de enviar seu MRE, certifique-se de:

  • Verificar se o problema é reproduzível.
  • Garantir que todas as dependências estejam listadas e corretas.
  • Remover qualquer código desnecessário.
  • Testar o MRE para garantir que ele reproduza o problema sem modificações.

Para uma lista de verificação detalhada, visite a seção Teste seu MRE.

Comentários