Meet YOLO26: next-gen vision AI.

Link to this sectionСоздание минимально воспроизводимого примера для отчетов об ошибках#

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

Link to this sectionИзолируй проблему#

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

Link to this sectionИспользуй публичные модели и наборы данных#

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

Link to this sectionВключи все необходимые зависимости#

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

Link to this sectionНапиши четкое описание проблемы#

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

Link to this sectionПравильно оформи свой код#

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

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

Link to this sectionПротестируй свой MRE#

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

Link to this sectionПример MRE#

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

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

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

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)

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

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 демонстрирует проблему с минимальным количеством кода, использует публичную модель ("yolo26n.pt"), включает все необходимые зависимости и предоставляет четкое описание проблемы вместе с сообщением об ошибке.

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

Link to this sectionFAQ#

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

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

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

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

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

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

Link to this sectionКакую информацию мне следует включить в свой отчет об ошибке для Ultralytics YOLO?#

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

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

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

Link to this sectionКак я могу правильно оформить свой код при отправке отчета об ошибке на GitHub?#

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

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

Пример:

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

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

Link to this sectionКакие распространенные ошибки следует проверить перед отправкой моего MRE для отчета об ошибке?#

Перед отправкой своего MRE обязательно:

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

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

Комментарии