inference-server / scripts /export_onnx.py
Aditya Kulkarni
feat: add ONNX backend support
f864c14
Raw History Blame Contribute Delete
1.3 kB
"""Export the SentenceTransformer model to optimized ONNX format.
Usage:
uv run python scripts/export_onnx.py
This script:
1. Loads the SentenceTransformer model
2. Saves the base model to disk
3. Exports to optimized ONNX using sentence-transformers built-in export
4. Verifies the export by loading and running inference
Output: models/minilm-onnx/
Verification (after export):
uv run python -c "
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('models/minilm-onnx', backend='onnx')
emb = model.encode(['test sentence'])
print(f'Shape: {emb.shape} (expected: (1, 384))')
"
"""
import os
from sentence_transformers import SentenceTransformer
from sentence_transformers.backend import export_optimized_onnx_model
from app.config import settings
onnx_model = SentenceTransformer(
model_name_or_path=settings.model_name)
onnx_model.save_pretrained(settings.onnx_model_path)
export_optimized_onnx_model(
onnx_model,
optimization_config="O3",
model_name_or_path=settings.onnx_model_path,
)
model_onnx = SentenceTransformer(settings.onnx_model_path, backend="onnx")
test_emb = model_onnx.encode(["hello world"])
print(f"Shape: {test_emb.shape} (expected: (1, 384))")
print(os.listdir(settings.onnx_model_path))