Gebaut fürs Entdecken
Eine Codebasis für Forschende, nicht nur für Anwender. Ändere frei, schau tief hinein und veröffentliche, ohne für das Privileg zu bezahlen.
Keine „Forschungslizenz“ nötig
Manche Frameworks verlangen extra Gebühren für „Forschungs-“ oder „Wissenschaftslizenzen“, nur damit du den Code ansehen darfst, ohne deine Arbeit zu veröffentlichen. LibreYOLO nicht.
Typische „Wissenschaftslizenzen“
- Zahlen, um die Forschung privat zu halten
- Gebühren für kommerzielle F&E
- Komplexe Lizenzstufen
- Rechtsprüfung vor der Veröffentlichung
LibreYOLO (MIT)
- Frei forschen, alles privat halten
- Null Gebühren für jeden Anwendungsfall
- Eine einfache Lizenz: MIT
- Veröffentlichen ohne rechtliche Bedenken
Sieh in die Black Box
Eingebaute Werkzeuge für Interpretierbarkeit und Erklärbarkeit. Keine externen Abhängigkeiten, kein komplexes Setup, nur Flags und Funktionsaufrufe.
Feature-Map-Extraktion
Ein Flag. Mehr braucht es nicht, um die Zwischenaktivierungen aus jeder Schicht zu speichern. Ideal, um zu verstehen, was dein Modell in jeder Stufe „sieht“.
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/
CAM-Visualisierungen
Experimentell7 eingebaute Class-Activation-Map-Methoden. Rufe model.explain() auf, um Heatmaps zu erzeugen, die zeigen, worauf dein Modell achtet. Diese Funktion ist experimentell, die Ergebnisse können schwanken.
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)Zum Ändern gebaut
Die Codebasis ist so geschrieben, dass sie leicht zu lesen und zu ändern ist. Willst du ein neues Backbone testen? Mit einem eigenen Attention-Mechanismus experimentieren? Eine neue Verlustfunktion hinzufügen? Nur zu.
# 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")Starte deine Forschung noch heute
Keine Lizenzgebühren. Keine Paywalls. Keine Einschränkungen, wenn du deine Arbeit privat halten willst. Einfach installieren und loslegen.
$ pip install libreyolo