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

BaseExporter

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.ABC

Abstract 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.