Fatto per scoprire
Una base di codice pensata per chi fa ricerca, non solo per chi la usa. Modifica liberamente, ispeziona a fondo e pubblica senza pagare per il privilegio.
Nessuna "licenza di ricerca"
Alcuni framework fanno pagare licenze separate per la "ricerca" o la "scienza" solo per lasciarti ispezionare il codice senza pubblicare il tuo lavoro. LibreYOLO no.
Le tipiche "licenze scientifiche"
- Pagare per tenere privata la ricerca
- Costi per la R&S commerciale
- Livelli di licenza complessi
- Revisione legale prima di pubblicare
LibreYOLO (MIT)
- Indaga liberamente, tieni tutto privato
- Zero costi per qualsiasi caso d'uso
- Una sola licenza semplice: MIT
- Pubblica senza preoccupazioni legali
Guarda dentro la scatola nera
Strumenti integrati di interpretabilità e spiegabilità. Nessuna dipendenza esterna, nessuna configurazione complessa: solo flag e chiamate di funzione.
Estrazione delle feature map
Un flag. È tutto quello che serve per salvare le attivazioni intermedie di ogni layer. Perfetto per capire cosa "vede" il tuo modello a ogni stadio.
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/
Visualizzazioni CAM
Sperimentale7 metodi Class Activation Map integrati. Chiama model.explain() per generare mappe di calore che mostrano su cosa si concentra il tuo modello. Questa funzionalità è sperimentale e i risultati possono variare.
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)Progettato per essere modificato
La base di codice è scritta per essere facile da leggere e da modificare. Vuoi provare un nuovo backbone? Sperimentare con un meccanismo di attenzione tuo? Aggiungere una nuova funzione di loss? Vai.
# 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")Inizia oggi la tua ricerca
Nessun costo di licenza. Nessun paywall. Nessuna restrizione sul tenere privato il tuo lavoro. Installa e comincia a esplorare.
$ pip install libreyolo