Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,14 +21,25 @@ os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
|
| 21 |
logging.basicConfig(level=logging.INFO)
|
| 22 |
logger = logging.getLogger(__name__)
|
| 23 |
|
| 24 |
-
#
|
| 25 |
-
optimizer =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
|
| 28 |
def process_ultra_supreme_analysis(image):
|
| 29 |
"""Process image and generate ultra supreme analysis"""
|
| 30 |
try:
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
# Find appropriate grade based on score
|
| 34 |
grade_info = None
|
|
@@ -51,8 +62,11 @@ def process_ultra_supreme_analysis(image):
|
|
| 51 |
return prompt, info, score_html
|
| 52 |
|
| 53 |
except Exception as e:
|
| 54 |
-
logger.error(f"Ultra supreme wrapper error: {e}")
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
|
| 58 |
def clear_outputs():
|
|
|
|
| 21 |
logging.basicConfig(level=logging.INFO)
|
| 22 |
logger = logging.getLogger(__name__)
|
| 23 |
|
| 24 |
+
# NO inicializar el optimizer globalmente
|
| 25 |
+
optimizer = None
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def get_optimizer():
|
| 29 |
+
"""Get or create optimizer instance"""
|
| 30 |
+
global optimizer
|
| 31 |
+
if optimizer is None:
|
| 32 |
+
optimizer = UltraSupremeOptimizer()
|
| 33 |
+
return optimizer
|
| 34 |
|
| 35 |
|
| 36 |
def process_ultra_supreme_analysis(image):
|
| 37 |
"""Process image and generate ultra supreme analysis"""
|
| 38 |
try:
|
| 39 |
+
# Obtener optimizer (lazy initialization)
|
| 40 |
+
opt = get_optimizer()
|
| 41 |
+
|
| 42 |
+
prompt, info, score, breakdown = opt.generate_ultra_supreme_prompt(image)
|
| 43 |
|
| 44 |
# Find appropriate grade based on score
|
| 45 |
grade_info = None
|
|
|
|
| 62 |
return prompt, info, score_html
|
| 63 |
|
| 64 |
except Exception as e:
|
| 65 |
+
logger.error(f"Ultra supreme wrapper error: {e}", exc_info=True)
|
| 66 |
+
error_msg = str(e)
|
| 67 |
+
if "GPU" in error_msg:
|
| 68 |
+
error_msg = "GPU processing failed. The system will automatically retry with CPU."
|
| 69 |
+
return "❌ Processing failed", f"Error: {error_msg}", '<div style="text-align: center; color: red;">Error</div>'
|
| 70 |
|
| 71 |
|
| 72 |
def clear_outputs():
|