Creaci贸n de un ejemplo m铆nimo reproducible para los informes de errores en los repositorios Ultralytics YOLO
Al enviar un informe de error para Ultralytics YOLO repositorios, es esencial proporcionar un Ejemplo M铆nimo Reproducible (EMR). Un MRE es una peque帽a pieza de c贸digo autocontenido que demuestra el problema que est谩 experimentando. Proporcionar un MRE ayuda a los mantenedores y colaboradores a entender el problema y a trabajar en una soluci贸n de forma m谩s eficiente. Esta gu铆a explica c贸mo crear un MRE al enviar informes de errores a los repositorios de Ultralytics YOLO .
1. Aislar el problema
El primer paso para crear una MRE es aislar el problema. Elimine cualquier c贸digo o dependencia innecesarios que no est茅n directamente relacionados con el problema. C茅ntrese en la parte espec铆fica del c贸digo que est谩 causando el problema y elimine cualquier secci贸n irrelevante.
2. Utilizar modelos y conjuntos de datos p煤blicos
Al crear un MRE, utilice modelos y conjuntos de datos disponibles p煤blicamente para reproducir el problema. Por ejemplo, utilice el modelo yolov8n.pt
y el modelo coco8.yaml
conjunto de datos. Esto garantiza que los mantenedores y colaboradores puedan ejecutar f谩cilmente su ejemplo e investigar el problema sin necesidad de acceder a datos propios o modelos personalizados.
3. Incluya todas las dependencias necesarias
Aseg煤rese de que todas las dependencias necesarias est谩n incluidas en su MRE. Si su c贸digo depende de bibliotecas externas, especifique los paquetes necesarios y sus versiones. Lo ideal es listar las dependencias en su informe de errores utilizando yolo checks
si tiene ultralytics
instalado o pip list
para otras herramientas.
4. Escriba una descripci贸n clara del problema
Proporcione una descripci贸n clara y concisa del problema que est谩 experimentando. Explique el comportamiento esperado y el comportamiento real que est谩 encontrando. Si procede, incluya los mensajes de error o registros pertinentes.
5. Formatee correctamente su c贸digo
Formatea tu c贸digo correctamente utilizando bloques de c贸digo en la descripci贸n de la incidencia. Esto facilita a los dem谩s la lectura y comprensi贸n de tu c贸digo. En GitHub, puedes crear un bloque de c贸digo rodeando el c贸digo con tres puntos suspensivos (```) y especificando el idioma:
6. Pruebe su MRE
Antes de enviar su MRE, pru茅belo para asegurarse de que reproduce fielmente el problema. Aseg煤rate de que los dem谩s puedan ejecutar tu ejemplo sin problemas ni modificaciones.
Ejemplo de MRE
He aqu铆 un ejemplo de MRE para un hipot茅tico informe de error:
Descripci贸n del fallo:
Al ejecutar la inferencia en una imagen de canal 0, obtengo un error relacionado con las dimensiones de la 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)
Mensaje de error:
Dependencias:
torch==2.3.0
ultralytics==8.2.0
En este ejemplo, la MRE demuestra el problema con una cantidad m铆nima de c贸digo, utiliza un modelo p煤blico ("yolov8n.pt"
), incluye todas las dependencias necesarias y proporciona una descripci贸n clara del problema junto con el mensaje de error.
Si sigue estas directrices, ayudar谩 a los responsables y colaboradores de los repositorios de Ultralytics YOLO a comprender y resolver su problema de forma m谩s eficaz.
PREGUNTAS FRECUENTES
驴C贸mo puedo crear un Ejemplo M铆nimo Reproducible (EMR) eficaz para los informes de errores en los repositorios de Ultralytics YOLO ?
Para crear un Ejemplo M铆nimo Reproducible (EMR) eficaz para los informes de errores en los repositorios de Ultralytics YOLO , siga estos pasos:
- A铆sle el problema: Elimine cualquier c贸digo o dependencia que no est茅n directamente relacionados con el problema.
- Utilizar modelos y conjuntos de datos p煤blicos: Utilizar recursos p煤blicos como
yolov8n.pt
ycoco8.yaml
para facilitar la reproducibilidad. - Incluya todas las dependencias necesarias: Especifique los paquetes necesarios y sus versiones. Puede listar las dependencias utilizando
yolo checks
si tieneultralytics
instalado opip list
. - Escriba una descripci贸n clara del problema: Explique el comportamiento esperado y real, incluyendo cualquier mensaje de error o registro.
- Formatee su c贸digo correctamente: Utiliza bloques de c贸digo para formatear tu c贸digo y facilitar su lectura.
- Pruebe su MRE: Aseg煤rese de que su MRE reproduce el problema sin modificaciones.
Para obtener una gu铆a detallada, consulte Creaci贸n de un ejemplo m铆nimo reproducible.
驴Por qu茅 deber铆a utilizar modelos y conjuntos de datos disponibles p煤blicamente en mi MRE para Ultralytics YOLO bug reports?
El uso de modelos y conjuntos de datos p煤blicos en su MRE garantiza que los mantenedores puedan ejecutar f谩cilmente su ejemplo sin necesidad de acceder a datos privados. Esto permite una resoluci贸n de problemas m谩s r谩pida y eficaz. Por ejemplo, el uso de yolov8n.pt
modelo y coco8.yaml
ayuda a estandarizar y simplificar el proceso de depuraci贸n. M谩s informaci贸n sobre modelos y conjuntos de datos p煤blicos en el Utilizar modelos y conjuntos de datos p煤blicos secci贸n.
驴Qu茅 informaci贸n debo incluir en mi informe de error para Ultralytics YOLO ?
Un informe completo de errores para Ultralytics YOLO debe incluir:
- Descripci贸n clara: Explique el problema, el comportamiento esperado y el comportamiento real.
- Mensajes de error: Incluya cualquier mensaje de error o registro relevante.
- Dependencias: Lista las dependencias necesarias y sus versiones.
- MRE: Proporcionar un ejemplo m铆nimo reproducible.
- Pasos para reproducir el problema: Describa los pasos necesarios para reproducir el problema.
Para obtener una lista de comprobaci贸n completa, consulte la secci贸n Redacte una descripci贸n clara del problema.
驴C贸mo puedo formatear correctamente mi c贸digo al enviar un informe de error en GitHub?
Para formatear el c贸digo correctamente al enviar un informe de error en GitHub:
- Utilice tres puntos suspensivos (```) para crear bloques de c贸digo.
- Especifique el lenguaje de programaci贸n para el resaltado de sintaxis, por ejemplo, ```python.
- Aseg煤rese de que el c贸digo est谩 correctamente sangrado para facilitar su lectura.
Por ejemplo:
Para obtener m谩s consejos sobre el formato del c贸digo, consulte Formatear correctamente el c贸digo.
驴Cu谩les son los errores m谩s comunes que debo comprobar antes de enviar mi MRE para un informe de error?
Antes de enviar su MRE, aseg煤rese de:
- Compruebe que el problema es reproducible.
- Aseg煤rese de que todas las dependencias est谩n listadas y son correctas.
- Elimine cualquier c贸digo innecesario.
- Pruebe el MRE para asegurarse de que reproduce el problema sin modificaciones.
Para obtener una lista de comprobaci贸n detallada, visite la secci贸n Pruebe su MRE.