IZERE HIRWA Roger commited on
Commit
f5cfe82
Β·
1 Parent(s): 46331c0
Files changed (1) hide show
  1. app.py +6 -4
app.py CHANGED
@@ -17,6 +17,7 @@ import numpy as np
17
  from PIL import Image
18
  from flask import Flask, request, send_file
19
  from flask_cors import CORS
 
20
 
21
  import torch
22
  from groundingdino.util.inference import load_model, predict
@@ -38,6 +39,7 @@ predictor = SamPredictor(sam)
38
  # ─── Flask app ──────────────────────────────────────────────────────────────────
39
  app = Flask(__name__)
40
  CORS(app)
 
41
 
42
  def segment(image_pil: Image.Image, prompt: str):
43
  # Use the proper image preprocessing for GroundingDINO
@@ -86,9 +88,11 @@ def segment_endpoint():
86
  image_pil = Image.open(image.stream).convert("RGB")
87
  mask = segment(image_pil, prompt)
88
  except ValueError as e:
 
89
  return {"error": str(e)}, 422
90
  except Exception as e:
91
- return {"error": "not supported"}, 500
 
92
 
93
  overlay = request.args.get("overlay", "false").lower() == "true"
94
  if overlay:
@@ -109,6 +113,4 @@ if __name__ == "__main__":
109
  parser.add_argument("--host", default="127.0.0.1")
110
  parser.add_argument("--port", default=7860, type=int)
111
  args = parser.parse_args()
112
- app.run(host=args.host, port=args.port)
113
- args = parser.parse_args()
114
- app.run(host=args.host, port=args.port)
 
17
  from PIL import Image
18
  from flask import Flask, request, send_file
19
  from flask_cors import CORS
20
+ import logging
21
 
22
  import torch
23
  from groundingdino.util.inference import load_model, predict
 
39
  # ─── Flask app ──────────────────────────────────────────────────────────────────
40
  app = Flask(__name__)
41
  CORS(app)
42
+ app.config["DEBUG"] = True
43
 
44
  def segment(image_pil: Image.Image, prompt: str):
45
  # Use the proper image preprocessing for GroundingDINO
 
88
  image_pil = Image.open(image.stream).convert("RGB")
89
  mask = segment(image_pil, prompt)
90
  except ValueError as e:
91
+ app.logger.error(f"ValueError: {e}")
92
  return {"error": str(e)}, 422
93
  except Exception as e:
94
+ app.logger.exception("Exception in /segment endpoint")
95
+ return {"error": str(e)}, 500 # Return actual exception message
96
 
97
  overlay = request.args.get("overlay", "false").lower() == "true"
98
  if overlay:
 
113
  parser.add_argument("--host", default="127.0.0.1")
114
  parser.add_argument("--port", default=7860, type=int)
115
  args = parser.parse_args()
116
+ app.run(host=args.host, port=args.port, debug=True)