Fix meta tensor error - Use to_empty() for model loading
Browse files
app.py
CHANGED
|
@@ -439,7 +439,21 @@ def load_image_model(model_name):
|
|
| 439 |
print(f"⏱️ Tiempo de carga: {load_time:.2f} segundos")
|
| 440 |
|
| 441 |
print(f"🚀 Moviendo modelo a dispositivo: {device}")
|
| 442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 443 |
|
| 444 |
# Optimizaciones específicas para H200
|
| 445 |
if torch.cuda.is_available():
|
|
|
|
| 439 |
print(f"⏱️ Tiempo de carga: {load_time:.2f} segundos")
|
| 440 |
|
| 441 |
print(f"🚀 Moviendo modelo a dispositivo: {device}")
|
| 442 |
+
try:
|
| 443 |
+
# Intentar mover el modelo usando to_empty() para manejar meta tensors
|
| 444 |
+
pipe = pipe.to_empty(device)
|
| 445 |
+
print("✅ Modelo movido exitosamente usando to_empty()")
|
| 446 |
+
except Exception as e:
|
| 447 |
+
print(f"⚠️ Error con to_empty(): {e}")
|
| 448 |
+
try:
|
| 449 |
+
# Fallback a to() tradicional
|
| 450 |
+
pipe = pipe.to(device)
|
| 451 |
+
print("✅ Modelo movido exitosamente usando to()")
|
| 452 |
+
except Exception as e2:
|
| 453 |
+
print(f"❌ Error cargando modelo {model_name}: {e2}")
|
| 454 |
+
print(f"🔍 Tipo de error: {type(e2).__name__}")
|
| 455 |
+
print(f"📋 Detalles del error: {e2}")
|
| 456 |
+
raise e2
|
| 457 |
|
| 458 |
# Optimizaciones específicas para H200
|
| 459 |
if torch.cuda.is_available():
|