IdentificacionIA/osnet_dinamico.py

31 lines
886 B
Python
Raw Normal View History

2026-06-25 17:06:15 +00:00
import torch
import torchreid
2026-06-25 17:06:15 +00:00
archivo_salida = "osnet_x1_0_msmt17_batch1.onnx"
2026-06-25 17:06:15 +00:00
print("1. Descargando los pesos originales de la Bestia (OSNet x1_0)...")
# ⚡ Al poner pretrained=True, Python usa el enlace directo interno de la librería
# saltándose los bloqueos del navegador web.
model = torchreid.models.build_model(
name='osnet_x1_0',
num_classes=1000,
loss='softmax',
pretrained=True
)
model.eval()
2026-06-25 17:06:15 +00:00
print("2. Compilando el modelo ONNX blindado a Batch=1...")
dummy_input = torch.randn(1, 3, 256, 128)
2026-06-25 17:06:15 +00:00
torch.onnx.export(
model,
dummy_input,
archivo_salida,
export_params=True,
opset_version=18, # Mantenemos la versión 18 que ya nos funcionó perfecto
do_constant_folding=True,
input_names=['images'],
output_names=['features']
)
2026-06-25 17:06:15 +00:00
print(f"¡Éxito total! Tu modelo de grado comercial máximo está listo: {archivo_salida}")