Built for Discovery
A codebase designed for researchers, not just users. Modify freely, inspect deeply, and publish without paying for the privilege.
No "Research License" Required
Some frameworks charge separate fees for "research" or "science" licenses just to let you inspect the code without releasing your work. LibreYOLO doesn't.
Typical "Science Licenses"
- Pay to keep research private
- Fees for commercial R&D use
- Complex license tiers
- Legal review for publication
LibreYOLO (MIT)
- Investigate freely, keep it private
- Zero fees for any use case
- One simple license: MIT
- Publish without legal concerns
See Inside the Black Box
Built-in tools for interpretability and explainability. No external dependencies, no complex setup - just flags and function calls.
Feature Map Extraction
One flag. That's all it takes to save intermediate activations from every layer. Perfect for understanding what your model "sees" at each stage.
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 Visualizations
Experimental7 built-in Class Activation Map methods. Call model.explain() to generate heatmaps showing what your model focuses on. This feature is experimental and results may vary.
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)Designed for Modification
The codebase is written to be easy to read and modify. Want to test a new backbone? Experiment with a custom attention mechanism? Add a novel loss function? Go for it.
# 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")Start Your Research Today
No license fees. No paywalls. No restrictions on keeping your work private. Just install and start exploring.
$ pip install libreyolo