altametris.sara.core.base_exporter¶
Base exporter class for model export.
Provides a common interface for exporting models to different formats (ONNX, TensorRT, CoreML, TFLite, etc.) with validation.
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¶
Classes¶
Abstract base class for model export. |
Module Contents¶
- altametris.sara.core.base_exporter.logger¶
- class altametris.sara.core.base_exporter.BaseExporter(model_path: str | pathlib.Path, output_dir: str | pathlib.Path | None = None)¶
Bases:
abc.ABCAbstract base class for model export.
Provides common export infrastructure: - Multi-format export support - Export validation - Path management - Format-specific configuration
- Parameters:
model_path – Path to source model
output_dir – Directory for exported models
Example
>>> exporter = MyExporter(model_path="weights/best.pt") >>> onnx_path = exporter.export(format="onnx", imgsz=640) >>> exporter.validate_export(onnx_path)
- SUPPORTED_FORMATS = ['onnx', 'torchscript', 'tensorrt', 'coreml', 'tflite']¶
- model_path¶
- output_dir¶
- abstract export(format: str = 'onnx', **kwargs: Any) pathlib.Path¶
Export model to specified format.
- Parameters:
format – Export format (onnx, tensorrt, etc.)
**kwargs – Format-specific export arguments
- Returns:
Path to exported model
- Raises:
ExportError – If export fails
Note
Must be implemented by subclasses
- abstract validate_export(export_path: pathlib.Path, **kwargs: Any) bool¶
Validate exported model.
- Parameters:
export_path – Path to exported model
**kwargs – Validation arguments
- Returns:
True if validation passes
- Raises:
ExportError – If validation fails
Note
Must be implemented by subclasses
- validate_format(format: str) None¶
Validate export format is supported.
- Parameters:
format – Format string to validate
- Raises:
ExportError – If format is not supported
- get_export_path(format: str, suffix: str | None = None) pathlib.Path¶
Generate export file path.
- Parameters:
format – Export format
suffix – Optional suffix before extension
- Returns:
Path for exported model
Example
>>> exporter.get_export_path("onnx") Path("weights/best.onnx") >>> exporter.get_export_path("onnx", suffix="_fp16") Path("weights/best_fp16.onnx")
- cleanup_export(export_path: pathlib.Path) None¶
Clean up temporary export files.
- Parameters:
export_path – Path to export file to remove
Example
>>> exporter.cleanup_export(Path("weights/temp.onnx"))
- export_all(formats: list[str] | None = None, **kwargs: Any) dict[str, pathlib.Path | None]¶
Export model to multiple formats.
- Parameters:
formats – List of formats to export (default: all supported)
**kwargs – Export arguments
- Returns:
Dictionary mapping format to export path (None if export failed)
Example
>>> exports = exporter.export_all(formats=["onnx", "tensorrt"]) >>> print(exports["onnx"])
- __repr__() str¶
String representation of exporter.