研究与科学
为探索而生
一个为研究人员而非仅仅是用户设计的代码库。自由修改、深入剖析,并且无需为此付费即可发表成果。
无需“研究许可证”
一些框架会为“研究”或“科学”许可证单独收费,只为让你在不公开自己工作的前提下查看代码。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

CAM 可视化
实验性内置 7 种类激活图(CAM)方法。调用 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")