altametris.sara.core.base_exporter ================================== .. py:module:: altametris.sara.core.base_exporter .. autoapi-nested-parse:: Base exporter class for model export. Provides a common interface for exporting models to different formats (ONNX, TensorRT, CoreML, TFLite, etc.) with validation. .. rubric:: Example >>> class MyExporter(BaseExporter): ... def export(self, format="onnx", **kwargs): ... # Export logic ... return export_path ... def validate_export(self, export_path): ... # Validation logic ... return True Attributes ---------- .. autoapisummary:: altametris.sara.core.base_exporter.logger Classes ------- .. autoapisummary:: altametris.sara.core.base_exporter.BaseExporter Module Contents --------------- .. py:data:: logger .. py:class:: BaseExporter(model_path: Union[str, pathlib.Path], output_dir: Optional[Union[str, pathlib.Path]] = None) Bases: :py:obj:`abc.ABC` Abstract base class for model export. Provides common export infrastructure: - Multi-format export support - Export validation - Path management - Format-specific configuration :param model_path: Path to source model :param output_dir: Directory for exported models .. rubric:: Example >>> exporter = MyExporter(model_path="weights/best.pt") >>> onnx_path = exporter.export(format="onnx", imgsz=640) >>> exporter.validate_export(onnx_path) .. py:attribute:: SUPPORTED_FORMATS :value: ['onnx', 'torchscript', 'tensorrt', 'coreml', 'tflite'] .. py:attribute:: model_path .. py:attribute:: output_dir .. py:method:: export(format: str = 'onnx', **kwargs: Any) -> pathlib.Path :abstractmethod: Export model to specified format. :param format: Export format (onnx, tensorrt, etc.) :param \*\*kwargs: Format-specific export arguments :returns: Path to exported model :raises ExportError: If export fails .. note:: Must be implemented by subclasses .. py:method:: validate_export(export_path: pathlib.Path, **kwargs: Any) -> bool :abstractmethod: Validate exported model. :param export_path: Path to exported model :param \*\*kwargs: Validation arguments :returns: True if validation passes :raises ExportError: If validation fails .. note:: Must be implemented by subclasses .. py:method:: validate_format(format: str) -> None Validate export format is supported. :param format: Format string to validate :raises ExportError: If format is not supported .. py:method:: get_export_path(format: str, suffix: Optional[str] = None) -> pathlib.Path Generate export file path. :param format: Export format :param suffix: Optional suffix before extension :returns: Path for exported model .. rubric:: Example >>> exporter.get_export_path("onnx") Path("weights/best.onnx") >>> exporter.get_export_path("onnx", suffix="_fp16") Path("weights/best_fp16.onnx") .. py:method:: cleanup_export(export_path: pathlib.Path) -> None Clean up temporary export files. :param export_path: Path to export file to remove .. rubric:: Example >>> exporter.cleanup_export(Path("weights/temp.onnx")) .. py:method:: export_all(formats: Optional[list[str]] = None, **kwargs: Any) -> dict[str, Optional[pathlib.Path]] Export model to multiple formats. :param formats: List of formats to export (default: all supported) :param \*\*kwargs: Export arguments :returns: Dictionary mapping format to export path (None if export failed) .. rubric:: Example >>> exports = exporter.export_all(formats=["onnx", "tensorrt"]) >>> print(exports["onnx"]) .. py:method:: __repr__() -> str String representation of exporter.