YOLO Vision 2026:

Criando um Exemplo Mínimo Reprodutível para Relatórios de Bug#

Ao enviar um relatório de bug para os repositórios do Ultralytics YOLO, é essencial fornecer um Minimum Reproducible Example (MRE). Um MRE é um trecho de código pequeno e autossuficiente que demonstra o problema que estás a experienciar. Fornecer um MRE ajuda os mantenedores e contribuidores a entender o problema e a trabalhar numa correção de forma mais eficiente. Este guia explica como criar um MRE ao enviar relatórios de bugs para os repositórios do Ultralytics YOLO.

Isole 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 problema e elimine quaisquer seções irrelevantes.

Use Modelos e Conjuntos de Dados Públicos#

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

Inclua Todas as Dependências Necessárias#

Certifica-te de que todas as dependências necessárias estão incluídas no teu MRE. Se o teu código depender de bibliotecas externas, especifica os pacotes necessários e as respetivas versões. Idealmente, lista as dependências no teu relatório de bug usando yolo checks se tiveres o ultralytics instalado ou pip list para outras ferramentas.

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

Formate o Seu Código Corretamente#

Formate o 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 o seu código. No GitHub, você pode criar um bloco de código envolvendo o seu código com três crases (```) e especificando a linguagem:

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

Teste o Seu MRE#

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

Exemplo de um MRE#

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

Descrição do bug:

Ao executar inferência em uma imagem de 0 canal, 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, utiliza 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.

Ao seguires estas diretrizes, ajudarás os mantenedores e contribuintes dos repositórios do Ultralytics YOLO a compreender e resolver o teu problema com maior eficiência.

FAQ#

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

    1. Isolar o Problema: Remova qualquer código ou dependência que não esteja diretamente relacionada ao problema.
    2. Usa Modelos e Datasets Públicos: Utiliza recursos públicos como yolo26n.pt e coco8.yaml para facilitar a reprodutibilidade.
    3. Inclui Todas as Dependências Necessárias: Especifica os pacotes necessários e as respetivas versões. Podes listar as dependências usando yolo checks se tiveres o ultralytics instalado ou pip list.
    4. Escrever uma Descrição Clara do Problema: Explique o comportamento esperado e o real, incluindo quaisquer mensagens de erro ou logs.
    5. Formatar o Seu Código Corretamente: Use blocos de código para formatar o seu código, tornando-o mais fácil de ler.
    6. Testar o Seu MRE: Garanta que o seu MRE reproduza o problema sem modificações.

    Para um guia detalhado, consulta Creating a Minimum Reproducible Example.

  • A utilização de modelos e datasets publicamente disponíveis no teu MRE garante que os mantenedores possam executar facilmente o teu exemplo sem precisar de acesso a dados proprietários. Isto permite uma resolução de problemas mais rápida e eficiente. Por exemplo, usar o modelo yolo26n.pt e o dataset coco8.yaml ajuda a padronizar e simplificar o processo de depuração. Sabe mais sobre modelos e datasets públicos na secção Use Public Models and Datasets.

  • Um relatório de bug abrangente para o YOLO da Ultralytics 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 Reprodutível.
    • Passos para Reproduzir: Descreva os passos necessários para reproduzir o problema.

    Para uma lista de verificação completa, consulta a secção Write a Clear Description of the Issue.

  • Para formatar o 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 o 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, consulta Format Your Code Properly.

  • Antes de enviar o 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, visita a secção Test Your MRE.

Comentários