Zeyadd-Mostaffa commited on
Commit
cbc8997
·
verified ·
1 Parent(s): 6ac5675

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
app.py CHANGED
@@ -15,25 +15,25 @@ xcp_model = load_model(xcp_path)
15
  eff_model = load_model(eff_path)
16
 
17
  def predict(image):
18
- # Use the full image directly (no face extraction)
19
  xcp_img = cv2.resize(image, (299, 299))
20
  eff_img = cv2.resize(image, (224, 224))
21
-
22
  xcp_tensor = xcp_pre(xcp_img.astype(np.float32))[np.newaxis, ...]
23
  eff_tensor = eff_pre(eff_img.astype(np.float32))[np.newaxis, ...]
24
-
 
25
  xcp_pred = xcp_model.predict(xcp_tensor, verbose=0).flatten()[0]
26
  eff_pred = eff_model.predict(eff_tensor, verbose=0).flatten()[0]
27
-
28
  avg_pred = (xcp_pred + eff_pred) / 2
29
  label = "Real" if avg_pred > 0.5 else "Fake"
30
-
31
- return label
 
32
 
33
  iface = gr.Interface(
34
  fn=predict,
35
  inputs=gr.Image(type="filepath"),
36
- outputs=gr.JSON(), # <-- very important
37
  live=False
38
  )
39
 
 
15
  eff_model = load_model(eff_path)
16
 
17
  def predict(image):
18
+ # Resize & preprocess
19
  xcp_img = cv2.resize(image, (299, 299))
20
  eff_img = cv2.resize(image, (224, 224))
 
21
  xcp_tensor = xcp_pre(xcp_img.astype(np.float32))[np.newaxis, ...]
22
  eff_tensor = eff_pre(eff_img.astype(np.float32))[np.newaxis, ...]
23
+
24
+ # Predict
25
  xcp_pred = xcp_model.predict(xcp_tensor, verbose=0).flatten()[0]
26
  eff_pred = eff_model.predict(eff_tensor, verbose=0).flatten()[0]
 
27
  avg_pred = (xcp_pred + eff_pred) / 2
28
  label = "Real" if avg_pred > 0.5 else "Fake"
29
+
30
+ # ✅ Return dict instead of string
31
+ return {"label": label, "probability": round(float(avg_pred), 4)}
32
 
33
  iface = gr.Interface(
34
  fn=predict,
35
  inputs=gr.Image(type="filepath"),
36
+ outputs=gr.JSON(), # Now it actually returns a dict
37
  live=False
38
  )
39