Xây dựng để khám phá
Mã nguồn được thiết kế cho nhà nghiên cứu, không chỉ cho người dùng. Sửa đổi thoải mái, tìm hiểu thật sâu và công bố mà không phải trả tiền cho đặc quyền đó.
Không cần "giấy phép nghiên cứu"
Một số framework thu phí riêng cho giấy phép "nghiên cứu" hoặc "khoa học" chỉ để bạn được xem mã nguồn mà không phải công bố công trình của mình. LibreYOLO thì không.
"Giấy phép khoa học" điển hình
- Trả tiền để giữ nghiên cứu ở chế độ riêng tư
- Thu phí cho R&D thương mại
- Nhiều bậc giấy phép phức tạp
- Phải rà soát pháp lý trước khi công bố
LibreYOLO (MIT)
- Nghiên cứu thoải mái, giữ riêng tư
- Không mất phí với mọi trường hợp sử dụng
- Một giấy phép duy nhất: MIT
- Công bố mà không lo pháp lý
Nhìn vào bên trong hộp đen
Công cụ tích hợp sẵn cho khả năng diễn giải và giải thích mô hình. Không phụ thuộc thư viện ngoài, không cần cấu hình phức tạp: chỉ vài cờ và lời gọi hàm.
Trích xuất feature map
Một cờ. Chỉ cần vậy để lưu lại activation trung gian của mọi lớp. Rất hợp để hiểu mô hình của bạn "thấy" gì ở từng giai đoạn.
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/
Trực quan hóa CAM
Thử nghiệm7 phương pháp Class Activation Map tích hợp sẵn. Gọi model.explain() để tạo heatmap cho thấy mô hình đang tập trung vào đâu. Tính năng này đang ở giai đoạn thử nghiệm và kết quả có thể khác nhau.
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)Thiết kế để sửa đổi
Mã nguồn được viết để dễ đọc và dễ sửa. Muốn thử một backbone mới? Muốn thử nghiệm một cơ chế attention của riêng bạn? Muốn thêm một hàm loss mới? Cứ làm thôi.
# 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")Bắt đầu nghiên cứu ngay hôm nay
Không phí giấy phép. Không tường phí. Không hạn chế nào với việc giữ riêng tư công trình của bạn. Chỉ cần cài đặt và bắt đầu khám phá.
$ pip install libreyolo