Commit
·
115b125
1
Parent(s):
a315115
Improve health check and UI messaging for fallback mode
Browse files- app/main_fastai.py +12 -5
app/main_fastai.py
CHANGED
|
@@ -203,14 +203,21 @@ async def api_info():
|
|
| 203 |
@app.get("/health")
|
| 204 |
async def health_check():
|
| 205 |
"""Health check endpoint"""
|
|
|
|
| 206 |
response = {
|
| 207 |
"status": "healthy",
|
| 208 |
-
"model_loaded":
|
| 209 |
"model_type": model_type,
|
| 210 |
-
"model_id": os.getenv("MODEL_ID", "Hammad712/GAN-Colorization-Model")
|
|
|
|
| 211 |
}
|
| 212 |
if model_load_error:
|
| 213 |
response["model_error"] = model_load_error
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 214 |
return response
|
| 215 |
|
| 216 |
def simple_colorize_fallback(image: Image.Image) -> Image.Image:
|
|
@@ -306,7 +313,7 @@ def colorize_pil(image: Image.Image) -> Image.Image:
|
|
| 306 |
|
| 307 |
else:
|
| 308 |
# Final fallback: simple colorization
|
| 309 |
-
logger.
|
| 310 |
return simple_colorize_fallback(image)
|
| 311 |
|
| 312 |
@app.post("/colorize")
|
|
@@ -362,8 +369,8 @@ def gradio_colorize(image):
|
|
| 362 |
logger.error("Gradio colorization error: %s", str(e))
|
| 363 |
return None
|
| 364 |
|
| 365 |
-
title = "🎨
|
| 366 |
-
description = "Upload a black & white photo to generate a colorized version
|
| 367 |
|
| 368 |
iface = gr.Interface(
|
| 369 |
fn=gradio_colorize,
|
|
|
|
| 203 |
@app.get("/health")
|
| 204 |
async def health_check():
|
| 205 |
"""Health check endpoint"""
|
| 206 |
+
model_loaded = (learn is not None) or (pytorch_colorizer is not None)
|
| 207 |
response = {
|
| 208 |
"status": "healthy",
|
| 209 |
+
"model_loaded": model_loaded,
|
| 210 |
"model_type": model_type,
|
| 211 |
+
"model_id": os.getenv("MODEL_ID", "Hammad712/GAN-Colorization-Model"),
|
| 212 |
+
"using_fallback": not model_loaded
|
| 213 |
}
|
| 214 |
if model_load_error:
|
| 215 |
response["model_error"] = model_load_error
|
| 216 |
+
response["message"] = "Model failed to load. Using fallback colorization method."
|
| 217 |
+
elif not model_loaded:
|
| 218 |
+
response["message"] = "No model loaded. Using fallback colorization method."
|
| 219 |
+
else:
|
| 220 |
+
response["message"] = f"Model loaded successfully ({model_type})"
|
| 221 |
return response
|
| 222 |
|
| 223 |
def simple_colorize_fallback(image: Image.Image) -> Image.Image:
|
|
|
|
| 313 |
|
| 314 |
else:
|
| 315 |
# Final fallback: simple colorization
|
| 316 |
+
logger.info("No model loaded, using enhanced colorization fallback (LAB color space method)")
|
| 317 |
return simple_colorize_fallback(image)
|
| 318 |
|
| 319 |
@app.post("/colorize")
|
|
|
|
| 369 |
logger.error("Gradio colorization error: %s", str(e))
|
| 370 |
return None
|
| 371 |
|
| 372 |
+
title = "🎨 Image Colorizer"
|
| 373 |
+
description = "Upload a black & white photo to generate a colorized version. Uses AI model when available, otherwise uses enhanced colorization fallback."
|
| 374 |
|
| 375 |
iface = gr.Interface(
|
| 376 |
fn=gradio_colorize,
|