Ricerca e scienza

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
Spiegabilità nativa

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.

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
Feature map P1 del backbone

Visualizzazioni CAM

Sperimentale

7 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.

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)

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.

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")

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
Vedi la documentazione