Дослідження та наука

Створено для відкриттів

Кодова база, розрахована на дослідників, а не лише на користувачів. Змінюйте вільно, вивчайте вглиб і публікуйте, не платячи за таку можливість.

Жодної «дослідницької ліцензії»

Деякі фреймворки беруть окрему плату за «дослідницькі» чи «наукові» ліцензії лише за те, щоб ви могли вивчати код, не оприлюднюючи свою роботу. LibreYOLO так не робить.

Типові «наукові ліцензії»

  • Плата за те, щоб дослідження лишалося приватним
  • Плата за комерційні дослідження та розробки
  • Складні рівні ліцензій
  • Юридична перевірка перед публікацією

LibreYOLO (MIT)

  • Досліджуйте вільно, тримайте це приватним
  • Нуль платежів для будь-якого сценарію
  • Одна проста ліцензія: MIT
  • Публікуйте без юридичних турбот
Вбудована пояснюваність

Зазирніть у чорну скриньку

Вбудовані інструменти для інтерпретовності та пояснюваності. Без зовнішніх залежностей і складного налаштування: лише прапорці та виклики функцій.

Витяг карт ознак

Один прапорець. Це все, що потрібно, щоб зберегти проміжні активації з кожного шару. Ідеально, щоб зрозуміти, що ваша модель «бачить» на кожному етапі.

feature_maps.py
from libreyolo import LibreYOLO

# Enable feature map saving in constructor
model = LibreYOLO(
    model_path="LibreYOLO11m.pt",
    size="m",
    save_feature_maps=True
)

# Run inference - feature maps auto-saved
results = model(image="parkour.jpg")

# Saved to: runs/feature_maps/
backbone_p1.png
1/11
Карта ознак бекбона P1

Візуалізації CAM

Експериментальне

7 вбудованих методів Class Activation Map. Викличте model.explain(), щоб згенерувати теплові карти, які показують, на чому зосереджується ваша модель. Ця функція експериментальна, і результати можуть відрізнятися.

explainability.py
from libreyolo import LibreYOLO

model = LibreYOLO(model_path="LibreYOLO11m.pt", size="m")

# One-line CAM visualization
result = model.explain(
    image="parkour.jpg",
    method="gradcam",
    target_layer="neck_c2f22",
    save=True
)

# Returns heatmap and overlay
print(result["heatmap"].shape)

Створено, щоб змінювати

Кодову базу написано так, щоб її було легко читати та змінювати. Хочете випробувати новий бекбон? Поекспериментувати з власним механізмом уваги? Додати нову функцію втрат? Уперед.

yolov11_custom.py
# Your modified architecture

from libreyolo.models.yolov11 import YOLOv11

class YOLOv11Custom(YOLOv11):
    def __init__(self):
        super().__init__()
        # Swap out the backbone
        self.backbone = MyCustomBackbone()

    def forward(self, x):
        features = self.backbone(x)
        return self.head(self.neck(features))

# Train it:
model = YOLOv11Custom()
model.train(data="my_dataset.yaml")

Почніть своє дослідження сьогодні

Без ліцензійних платежів. Без пейволів. Без обмежень на те, щоб тримати роботу приватною. Просто встановіть і починайте досліджувати.

$ pip install libreyolo
Переглянути документацію