Перейти к содержанию

Создание минимального воспроизводимого примера для сообщений об ошибках в репозиториях Ultralytics YOLO .

При отправке сообщения об ошибке для Ultralytics YOLO репозиториях, необходимо предоставить минимальный воспроизводимый пример (MRE). MRE - это небольшой, самодостаточный кусок кода, который демонстрирует проблему, с которой вы столкнулись. Предоставление MRE помогает сопровождающим и контрибьюторам понять проблему и работать над ее устранением более эффективно. В этом руководстве объясняется, как создать MRE при отправке сообщений об ошибках в репозитории Ultralytics YOLO .

1. Изолируйте проблему

Первый шаг при создании MRE - изолировать проблему. Удалите весь ненужный код или зависимости, которые не имеют прямого отношения к проблеме. Сосредоточьтесь на конкретной части кода, вызывающей проблему, и удалите все неактуальные разделы.

2. Использование публичных моделей и наборов данных

При создании MRE используйте общедоступные модели и наборы данных для воспроизведения проблемы. Например, используйте yolov8n.pt модель и coco8.yaml набор данных. Это гарантирует, что сопровождающие и соавторы смогут легко запустить ваш пример и исследовать проблему, не имея доступа к собственным данным или пользовательским моделям.

3. Включите все необходимые зависимости

Убедитесь, что все необходимые зависимости включены в ваш MRE. Если ваш код зависит от внешних библиотек, укажите необходимые пакеты и их версии. В идеале, перечислите зависимости в своем сообщении об ошибке, используя yolo checks если у вас есть ultralytics установленный или pip list для других инструментов.

4. Напишите четкое описание проблемы

Дайте четкое и краткое описание проблемы, с которой вы столкнулись. Объясните ожидаемое поведение и фактическое поведение, с которым вы столкнулись. Если применимо, приложите соответствующие сообщения об ошибках или журналы.

5. Правильно оформляйте свой код

Правильно оформляйте свой код, используя блоки кода в описании проблемы. Так другим будет проще прочитать и понять ваш код. В GitHub вы можете создать блок кода, обернув его тройными обратными знаками (```) и указав язык:

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

6. Проверьте свои MRE

Перед отправкой MRE протестируйте его, чтобы убедиться, что он точно воспроизводит проблему. Убедитесь, что другие могут запустить ваш пример без каких-либо проблем или модификаций.

Пример MRE

Вот пример MRE для гипотетического сообщения об ошибке:

Описание ошибки:

При выполнении вывода на 0-канальном изображении возникает ошибка, связанная с размерами входных данных 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)

Сообщение об ошибке:

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

Зависимости:

  • torch==2.3.0
  • ultralytics==8.2.0

В этом примере MRE демонстрирует проблему с минимальным количеством кода, использует публичную модель ("yolov8n.pt"), включает все необходимые зависимости и предоставляет четкое описание проблемы вместе с сообщением об ошибке.

Следуя этим рекомендациям, вы поможете сопровождающим и контрибьюторам репозиториев Ultralytics YOLO понять и решить вашу проблему более эффективно.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как создать эффективный минимальный воспроизводимый пример (MRE) для сообщений об ошибках в репозиториях Ultralytics YOLO ?

Чтобы создать эффективный минимальный воспроизводимый пример (MRE) для сообщений об ошибках в репозиториях Ultralytics YOLO , выполните следующие действия:

  1. Изолируйте проблему: Удалите весь код или зависимости, которые не имеют прямого отношения к проблеме.
  2. Использование публичных моделей и наборов данных: Используйте общественные ресурсы, такие как yolov8n.pt и coco8.yaml для более легкой воспроизводимости.
  3. Включите все необходимые зависимости: Укажите необходимые пакеты и их версии. Список зависимостей можно составить с помощью yolo checks если у вас есть ultralytics установленный или pip list.
  4. Напишите четкое описание проблемы: Объясните ожидаемое и фактическое поведение, включая любые сообщения об ошибках или журналы.
  5. Правильно форматируйте код: Используйте кодовые блоки для форматирования кода, чтобы его было легче читать.
  6. Протестируйте свой MRE: Убедитесь, что ваш MRE воспроизводит проблему без изменений.

Подробное руководство см. в разделе Создание минимального воспроизводимого примера.

Почему я должен использовать общедоступные модели и наборы данных в своем MRE для сообщений об ошибках Ultralytics YOLO ?

Использование общедоступных моделей и наборов данных в MRE гарантирует, что специалисты по сопровождению смогут легко запустить ваш пример без необходимости доступа к собственным данным. Это позволяет быстрее и эффективнее решать проблемы. Например, использование yolov8n.pt модель и coco8.yaml Набор данных помогает стандартизировать и упростить процесс отладки. Узнайте больше о публичных моделях и наборах данных в разделе Использование публичных моделей и наборов данных раздел.

Какую информацию следует включить в сообщение об ошибке для Ultralytics YOLO ?

Полный отчет об ошибке для Ultralytics YOLO должен включать в себя:

  • Четкое описание: Объясните проблему, ожидаемое поведение и фактическое поведение.
  • Сообщения об ошибках: Включите все необходимые сообщения об ошибках или журналы.
  • Зависимости: Список необходимых зависимостей и их версий.
  • MRE: Предоставьте минимальный воспроизводимый пример.
  • Шаги для воспроизведения: Опишите шаги, необходимые для воспроизведения проблемы.

Полный контрольный список см. в разделе " Напишите четкое описание проблемы".

Как правильно оформить код при отправке сообщения об ошибке на GitHub?

Чтобы правильно оформить свой код при отправке сообщения об ошибке на GitHub:

  • Используйте тройные обратные знаки (```) для создания блоков кода.
  • Укажите язык программирования для подсветки синтаксиса, например, ``python.
  • Убедитесь, что ваш код имеет правильные отступы для удобства чтения.

Пример:

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

Дополнительные советы по форматированию кода см. в разделе Правильное форматирование кода.

Какие общие ошибки следует проверить перед отправкой MRE в отчет об ошибке?

Прежде чем отправить MRE, убедитесь, что:

  • Убедитесь, что проблема воспроизводима.
  • Убедитесь, что все зависимости перечислены и корректны.
  • Удалите весь ненужный код.
  • Протестируйте MRE, чтобы убедиться, что он воспроизводит проблему без изменений.

Подробный контрольный список можно найти в разделе Test Your MRE.

📅 Создано 3 месяца назад ✏️ Обновлено 3 месяца назад

Комментарии