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.