Criando um Exemplo Mínimo Reprodutível para Relatórios de Erros em Ultralytics YOLO Repositórios
Ao submeter um relatório de bug para Ultralytics YOLO é essencial fornecer um Exemplo Mínimo Reprodutível (MRE). Um MRE é um pequeno pedaço de código independente que demonstra o problema que está a ter. Fornecer um MRE ajuda os mantenedores e colaboradores a entender o problema e trabalhar em uma correção de forma mais eficiente. Este guia explica como criar um MRE ao enviar relatórios de erros para os repositórios Ultralytics YOLO .
1. Isolar o problema
O primeiro passo para criar uma MRE é isolar o problema. Remova qualquer código desnecessário ou dependências que não estejam diretamente relacionadas com o problema. Concentre-se na parte específica do código que está a causar o problema e elimine quaisquer secções irrelevantes.
2. Utilizar modelos e conjuntos de dados públicos
Ao criar um MRE, utilize modelos e conjuntos de dados disponíveis publicamente para reproduzir o problema. Por exemplo, utilize o yolov8n.pt
e o modelo coco8.yaml
conjunto de dados. Isto garante que os responsáveis pela manutenção e os colaboradores podem facilmente executar o seu exemplo e investigar o problema sem necessitarem de acesso a dados proprietários ou modelos personalizados.
3. Incluir todas as dependências necessárias
Certifique-se de que todas as dependências necessárias estão incluídas no seu MRE. Se o seu código depende de bibliotecas externas, especifique os pacotes necessários e as suas versões. Idealmente, liste as dependências no seu relatório de erros usando yolo checks
se tiver ultralytics
instalado ou pip list
para outras ferramentas.
4. Escreva uma descrição clara do problema
Forneça uma descrição clara e concisa do problema que está a ter. Explique o comportamento esperado e o comportamento real que está a encontrar. Se aplicável, inclua quaisquer mensagens de erro ou registos relevantes.
5. Formatar corretamente o seu código
Formate o seu código corretamente utilizando blocos de código na descrição do problema. Isso facilita a leitura e a compreensão do seu código por outras pessoas. No GitHub, você pode criar um bloco de código envolvendo seu código com três pontos traseiros (```) e especificando a linguagem:
6. Teste a sua MRE
Antes de submeter o seu MRE, teste-o para garantir que reproduz corretamente o problema. Certifique-se de que outras pessoas podem executar o seu exemplo sem quaisquer problemas ou modificações.
Exemplo de uma MRE
Aqui está um exemplo de um MRE para um relatório de bug hipotético:
Descrição do erro:
Quando executo a inferência numa imagem de 0 canais, recebo um erro relacionado com as dimensões da entrada tensor.
MRE:
import torch
from ultralytics import YOLO
# Load the model
model = YOLO("yolov8n.pt")
# Load a 0-channel image
image = torch.rand(1, 0, 640, 640)
# Run the model
results = model(image)
Mensagem de erro:
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 ("yolov8n.pt"
), inclui todas as dependências necessárias e fornece uma descrição clara do problema juntamente com a mensagem de erro.
Ao seguir estas diretrizes, ajudará os responsáveis pela manutenção e os contribuidores dos repositórios Ultralytics YOLO a compreender e a resolver o seu problema de forma mais eficiente.
FAQ
Como posso criar um Exemplo Mínimo Reprodutível (MRE) eficaz para relatórios de erros nos repositórios Ultralytics YOLO ?
Para criar um Exemplo Mínimo Reprodutível (MRE) eficaz para relatórios de bugs nos repositórios Ultralytics YOLO , siga estes passos:
- Isolar o problema: Remova qualquer código ou dependências que não estejam diretamente relacionados com o problema.
- Utilizar modelos e conjuntos de dados públicos: Utilizar recursos públicos como
yolov8n.pt
ecoco8.yaml
para facilitar a reprodutibilidade. - Incluir todas as dependências necessárias: Especifique os pacotes necessários e as suas versões. É possível listar as dependências usando
yolo checks
se tiverultralytics
instalado oupip list
. - Escreva uma descrição clara do problema: Explique o comportamento esperado e real, incluindo quaisquer mensagens de erro ou registos.
- Formate o seu código corretamente: Utilize blocos de código para formatar o seu código, tornando-o mais fácil de ler.
- Teste o seu MRE: Certifique-se de que o seu MRE reproduz o problema sem modificações.
Para obter um guia detalhado, consulte Criar um exemplo mínimo reproduzível.
Por que razão devo utilizar modelos e conjuntos de dados disponíveis publicamente no meu MRE para Ultralytics YOLO relatórios de erros?
A utilização de modelos e conjuntos de dados publicamente disponíveis no seu MRE garante que os responsáveis pela manutenção podem facilmente executar o seu exemplo sem necessitarem de acesso a dados proprietários. Isto permite uma resolução de problemas mais rápida e eficiente. Por exemplo, usando o yolov8n.pt
modelo e coco8.yaml
ajuda a padronizar e simplificar o processo de depuração. Saiba mais sobre modelos e conjuntos de dados públicos na secção Utilizar modelos e conjuntos de dados públicos secção.
Que informações devo incluir no meu relatório de erros para Ultralytics YOLO ?
Um relatório de erros abrangente para Ultralytics YOLO deve incluir:
- Descrição clara: Explicar a questão, o comportamento esperado e o comportamento atual.
- Mensagens de erro: Incluir quaisquer mensagens de erro ou registos relevantes.
- Dependências: Listar as dependências necessárias e suas versões.
- MRE: Fornecer um Exemplo Mínimo Reprodutível.
- Etapas para reproduzir: Descreva os passos necessários para reproduzir o problema.
Para obter uma lista de verificação completa, consulte a secção Escrever uma descrição clara do problema.
Como posso formatar corretamente o meu código quando submeto um relatório de erro no GitHub?
Para formatar corretamente o seu código quando submeter um relatório de erro no GitHub:
- Utilize três pontos traseiros (```) para criar blocos de código.
- Especifique a linguagem de programação para realce de sintaxe, por exemplo, ```python.
- Certifique-se de que o seu código está indentado corretamente para facilitar a leitura.
Exemplo:
Para obter mais dicas sobre formatação de código, consulte Formatar o código corretamente.
Quais são alguns erros comuns a verificar antes de submeter a minha EMS para um relatório de erro?
Antes de apresentar a sua MRE, certifique-se de que:
- Verificar se o problema é reproduzível.
- Assegurar que todas as dependências estão listadas e corretas.
- Remova qualquer código desnecessário.
- Testar a MRE para garantir que reproduz o problema sem modificações.
Para obter uma lista de verificação pormenorizada, visite a secção Teste a sua EMS.