Investigación y ciencia

Hecho para descubrir

Una base de código diseñada para investigadores, no solo para usuarios. Modifica con libertad, inspecciona a fondo y publica sin pagar por el privilegio.

Sin "licencia de investigación"

Algunos frameworks cobran cuotas aparte por licencias de "investigación" o "ciencia" solo para dejarte inspeccionar el código sin publicar tu trabajo. LibreYOLO no.

"Licencias científicas" típicas

  • Pagar por mantener la investigación privada
  • Cuotas por I+D comercial
  • Niveles de licencia complejos
  • Revisión legal para publicar

LibreYOLO (MIT)

  • Investiga con libertad, mantenlo privado
  • Cero cuotas para cualquier caso de uso
  • Una licencia simple: MIT
  • Publica sin preocupaciones legales
Explicabilidad nativa

Mira dentro de la caja negra

Herramientas integradas de interpretabilidad y explicabilidad. Sin dependencias externas ni configuraciones complejas: solo flags y llamadas a funciones.

Extracción de mapas de características

Un flag. Eso es todo lo que hace falta para guardar las activaciones intermedias de cada capa. Perfecto para entender qué "ve" tu modelo en cada etapa.

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
Mapa de características P1 del backbone

Visualizaciones CAM

En fase experimental

7 métodos de Class Activation Map integrados. Llama a model.explain() para generar mapas de calor que muestran en qué se fija tu modelo. Esta función es experimental y los resultados pueden variar.

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)

Diseñado para modificarse

La base de código está escrita para ser fácil de leer y modificar. ¿Quieres probar un backbone nuevo? ¿Experimentar con un mecanismo de atención propio? ¿Añadir una función de pérdida novedosa? Adelante.

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

Empieza tu investigación hoy

Sin cuotas de licencia. Sin muros de pago. Sin restricciones para mantener tu trabajo privado. Solo instala y empieza a explorar.

$ pip install libreyolo
Ver la documentación