Ana içeriğe geç

LibreYOLO Model

sahi.models.libreyolo

LibreYOLO detection model wrapper for SAHI.

LibreYOLO (https://github.com/LibreYOLO/libreyolo) is an MIT-licensed library with an Ultralytics compatible API.

Classes

LibreYoloDetectionModel

Bases: UltralyticsDetectionModel

LibreYOLO object detection model, reusing the Ultralytics wrapper.

Source code in sahi/models/libreyolo.py
class LibreYoloDetectionModel(UltralyticsDetectionModel):
    """LibreYOLO object detection model, reusing the Ultralytics wrapper."""

    def check_dependencies(self, packages: list[str] | None = None) -> None:
        """Check for libreyolo instead of ultralytics."""
        super().check_dependencies(packages=["libreyolo"])

    def load_model(self) -> None:
        """Detection model is initialized and set to self.model."""
        from libreyolo import LibreYOLO

        try:
            model = LibreYOLO(self.model_path or "LibreYOLO9t.pt", device=self.device, task=self.task)
            self.set_model(model)
        except Exception as e:
            raise TypeError("model_path is not a valid LibreYOLO model path: ", e)
Methods:
check_dependencies(packages=None)

Check for libreyolo instead of ultralytics.

Source code in sahi/models/libreyolo.py
def check_dependencies(self, packages: list[str] | None = None) -> None:
    """Check for libreyolo instead of ultralytics."""
    super().check_dependencies(packages=["libreyolo"])
load_model()

Detection model is initialized and set to self.model.

Source code in sahi/models/libreyolo.py
def load_model(self) -> None:
    """Detection model is initialized and set to self.model."""
    from libreyolo import LibreYOLO

    try:
        model = LibreYOLO(self.model_path or "LibreYOLO9t.pt", device=self.device, task=self.task)
        self.set_model(model)
    except Exception as e:
        raise TypeError("model_path is not a valid LibreYOLO model path: ", e)