ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ минимального воспроизводимого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° для сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² рСпозиториях Ultralytics YOLO

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ сообщСния ΠΎΠ± ошибкС Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ultralytics YOLO ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ воспроизводимый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (MRE). MRE - это нСбольшой, самодостаточный кусок ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Ρ‹ столкнулся. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ MRE ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π΅Π΅ исправлСниСм. Π­Ρ‚ΠΎ руководство ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ MRE ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ultralytics YOLO .

1. Π˜Π·ΠΎΠ»ΠΈΡ€ΡƒΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² создании MRE являСтся изоляция ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ зависимости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ прямого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. Π‘ΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡŒΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π°, которая Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΈ ΡƒΠ΄Π°Π»ΠΈ вСсь Π½Π΅Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ создании MRE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ общСдоступныС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ воспроизвСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ модСль 'yolov8n.pt' ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 'coco8.yaml'. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€Ρ‹ смогут Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡΡΡŒ Π² доступС ΠΊ собствСнным Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ модСлям.

3. Π’ΠΊΠ»ΡŽΡ‡ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈ Π² свой MRE всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости. Если Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ зависит ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΡƒΠΊΠ°ΠΆΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΈΡ… вСрсии. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ requirements.txt Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ пСрСчислитС зависимости Π² своСм сообщСнии ΠΎΠ± ошибкС.

4. Напиши Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Π”Π°ΠΉ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Ρ‹ столкнулся. Объясни ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΈ фактичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚Ρ‹ столкнулся. Если ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈ всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π»Ρ‹.

5. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠΉ свой ΠΊΠΎΠ΄

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ MRE ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ оформляй свой ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Π² описании ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄. Π’ GitHub Ρ‚Ρ‹ моТСшь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ, ΠΎΠ±Π΅Ρ€Π½ΡƒΠ² свой ΠΊΠΎΠ΄ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ (```) ΠΈ ΡƒΠΊΠ°Π·Π°Π² язык:

# Your Python code goes here

6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ свой MRE

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой MRE, протСстируй Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΠΎΡ‡Π½ΠΎ воспроизводит ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. УбСдись, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ MRE

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ MRE для гипотСтичСского сообщСния ΠΎΠ± ошибкС:

ОписаниС бага:

ΠŸΡ€ΠΈ запускС detect.py скрипт Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ изобраТСния ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… 'coco8.yaml', я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π΅Π½Π·ΠΎΡ€Π°.

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

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

  • Ρ„Π°ΠΊΠ΅Π»==2.0.0
  • ultralytics==8.0.90

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MRE дСмонстрируСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ модСль ('yolov8n.pt'), Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости ΠΈ прСдоставляСт Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ вмСстС с сообщСниСм ΠΎΠ± ошибкС.

БлСдуя этим рСкомСндациям, Ρ‚Ρ‹ помоТСшь ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€Π°ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Ultralytics YOLO ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π²ΠΎΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ эффСктивно.



Боздано 2023-11-12, ОбновлСно 2023-11-12
Авторы: glenn-jocher (1)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ