altametris.sara.yolo.exporter ============================= .. py:module:: altametris.sara.yolo.exporter .. autoapi-nested-parse:: YOLO exporter implementation. Provides export functionality for YOLO models to various formats (ONNX, TensorRT, CoreML, etc.) with validation. .. rubric:: Example >>> exporter = YoloExporter(model_path="weights/best.pt") >>> onnx_path = exporter.export(format="onnx", imgsz=640) >>> exporter.validate_export(onnx_path) Attributes ---------- .. autoapisummary:: altametris.sara.yolo.exporter.logger Classes ------- .. autoapisummary:: altametris.sara.yolo.exporter.YoloExporter Module Contents --------------- .. py:data:: logger .. py:class:: YoloExporter(model_path: Union[str, pathlib.Path], output_dir: Optional[Union[str, pathlib.Path]] = None) Bases: :py:obj:`altametris.sara.core.base_exporter.BaseExporter` YOLO exporter implementing BaseExporter interface. Supports export to multiple formats via Ultralytics backend. :param model_path: Path to YOLO model weights :param output_dir: Output directory for exports .. rubric:: Example >>> exporter = YoloExporter(model_path="yolo11x.pt") >>> onnx_path = exporter.export(format="onnx", imgsz=640) >>> trt_path = exporter.export(format="tensorrt", imgsz=640, half=True) .. py:attribute:: SUPPORTED_FORMATS :value: ['onnx', 'torchscript', 'tensorrt', 'coreml', 'tflite', 'engine'] .. py:method:: export(format: str = 'onnx', imgsz: Union[int, tuple[int, int]] = 640, half: bool = False, dynamic: bool = False, simplify: bool = True, **kwargs: Any) -> pathlib.Path Export YOLO model to specified format. :param format: Export format :param imgsz: Input image size (int or (height, width)) :param half: Use FP16 precision :param dynamic: Dynamic axes for ONNX :param simplify: Simplify ONNX model :param \*\*kwargs: Additional export arguments :returns: Path to exported model :raises ExportError: If export fails .. rubric:: Example >>> # Export to ONNX >>> exporter.export(format="onnx", imgsz=640, half=False) >>> >>> # Export to TensorRT >>> exporter.export(format="tensorrt", imgsz=640, half=True) .. py:method:: validate_export(export_path: pathlib.Path, test_image: Optional[Union[str, pathlib.Path]] = None, **kwargs: Any) -> bool Validate exported model. :param export_path: Path to exported model :param test_image: Optional test image for validation :param \*\*kwargs: Additional validation arguments :returns: True if validation passes :raises ExportError: If validation fails .. rubric:: Example >>> onnx_path = exporter.export(format="onnx") >>> exporter.validate_export(onnx_path, test_image="test.jpg") .. py:method:: export_to_tensorrt(imgsz: Union[int, tuple[int, int]] = 640, half: bool = True, workspace: float = 4.0, **kwargs: Any) -> pathlib.Path Export to TensorRT with optimized settings. :param imgsz: Input image size :param half: Use FP16 precision :param workspace: TensorRT workspace size (GB) :param \*\*kwargs: Additional TensorRT arguments :returns: Path to TensorRT engine .. rubric:: Example >>> trt_path = exporter.export_to_tensorrt(imgsz=640, half=True) .. py:method:: export_to_onnx(imgsz: Union[int, tuple[int, int]] = 640, dynamic: bool = True, simplify: bool = True, **kwargs: Any) -> pathlib.Path Export to ONNX with optimized settings. :param imgsz: Input image size :param dynamic: Dynamic axes for variable input size :param simplify: Simplify ONNX graph :param \*\*kwargs: Additional ONNX arguments :returns: Path to ONNX model .. rubric:: Example >>> onnx_path = exporter.export_to_onnx(imgsz=640, dynamic=True) .. py:method:: __repr__() -> str String representation.