YOLOWorldDetectionModel(
*args: object,
fuse: bool = False,
task: str | None = None,
**kwargs: object,
)
Bases: UltralyticsDetectionModel
YOLO-World object detection model.
An open-vocabulary object detector that can detect custom classes at test-time.
Source code in sahi/models/ultralytics.py
| def __init__(self, *args: object, fuse: bool = False, task: str | None = None, **kwargs: object) -> None:
"""Initialize the Ultralytics detection model.
Accepts all arguments from ``DetectionModel.__init__`` plus the
following keyword arguments.
Args:
*args: Variable length argument list passed to DetectionModel.
fuse: If True, fuse Conv2d and BatchNorm2d layers for faster
inference. Default: False.
task: Ultralytics task type (e.g. ``"detect"``, ``"segment"``,
``"obb"``). When None, the task is inferred from the model.
Default: None.
**kwargs: Arbitrary keyword arguments passed to DetectionModel.
"""
self.fuse: bool = fuse
self.task: str | None = task
existing_packages = getattr(self, "required_packages", None) or []
self.required_packages = [*list(existing_packages), "ultralytics"]
super().__init__(*args, **kwargs) # type: ignore[misc, arg-type]
|
Methods:
load_model
Detection model is initialized and set to self.model.
Source code in sahi/models/yolo-world.py
| def load_model(self) -> None:
"""Detection model is initialized and set to self.model."""
from ultralytics import YOLOWorld
try:
model_source = self.model_path or "yolov8s-worldv2.pt"
model = YOLOWorld(model_source)
model.to(self.device)
self.set_model(model)
except Exception as e:
raise TypeError("model_path is not a valid yolo world model path: ", e)
|