Suphawan commited on
Commit
b3d6faa
·
verified ·
1 Parent(s): 5f05292

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -8
app.py CHANGED
@@ -25,7 +25,7 @@ model_paths = {
25
  # ฟังก์ชันเตรียมข้อมูลภาพ (และคืนภาพที่ resize แล้ว)
26
  def resize_image(image):
27
  image = image.resize(IMG_SIZE) # Resize เป็น 224x224
28
- return image # คืนภาพเพื่อแสดงต่อ
29
 
30
  # ฟังก์ชันทำนาย โดยใช้ภาพที่ resize แล้ว
31
  def predict_with_model(resized_image, model_name):
@@ -45,28 +45,27 @@ def predict_with_model(resized_image, model_name):
45
  result_text = f"\n\n🧠 Prediction Result\n---------------------------\nClass: {class_name}\nConfidence: {confidence}%"
46
  return result_text
47
 
48
- # สร้าง Gradio Blocks แบบ 2 ขั้นตอน
49
  with gr.Blocks() as demo:
50
  gr.Markdown("# 🧠 Stroke Face Classification App")
51
- gr.Markdown("Upload a face image. The image will be resized to 224x224 automatically. Then, select a model to classify.")
52
 
53
  with gr.Row():
54
  with gr.Column():
55
- image_input = gr.Image(type="pil", label="🖼️ Upload Face Image")
56
  model_selector = gr.Dropdown(choices=["Custom CNN", "VGG16", "ResNet50"], label="📊 Select Model to Classify")
57
  predict_button = gr.Button("🚀 Predict Stroke")
58
 
59
  with gr.Column():
60
- resized_image_output = gr.Image(label="🖼️ Resized Image (224x224)")
61
  output_text = gr.Textbox(label="📝 Prediction Output", lines=5)
62
 
63
- # เมื่ออัปโหลดรูปแล้ว resize ทันที
64
- image_input.change(resize_image, inputs=image_input, outputs=resized_image_output)
65
 
66
  # เมื่อกดปุ่ม Predict ใช้ภาพที่ resize แล้วไปทำนาย
67
  predict_button.click(
68
  predict_with_model,
69
- inputs=[resized_image_output, model_selector],
70
  outputs=output_text
71
  )
72
 
 
25
  # ฟังก์ชันเตรียมข้อมูลภาพ (และคืนภาพที่ resize แล้ว)
26
  def resize_image(image):
27
  image = image.resize(IMG_SIZE) # Resize เป็น 224x224
28
+ return image # คืนภาพเพื่อแสดงต่อ (ช่องเดียวกัน)
29
 
30
  # ฟังก์ชันทำนาย โดยใช้ภาพที่ resize แล้ว
31
  def predict_with_model(resized_image, model_name):
 
45
  result_text = f"\n\n🧠 Prediction Result\n---------------------------\nClass: {class_name}\nConfidence: {confidence}%"
46
  return result_text
47
 
48
+ # สร้าง Gradio Interface แบบไม่มีช่องแยก
49
  with gr.Blocks() as demo:
50
  gr.Markdown("# 🧠 Stroke Face Classification App")
51
+ gr.Markdown("Upload a face image. The image will be automatically resized to 224x224 and shown here. Then, select a model to classify.")
52
 
53
  with gr.Row():
54
  with gr.Column():
55
+ image_input = gr.Image(type="pil", label="🖼️ Upload & Auto Resize Face Image (224x224)")
56
  model_selector = gr.Dropdown(choices=["Custom CNN", "VGG16", "ResNet50"], label="📊 Select Model to Classify")
57
  predict_button = gr.Button("🚀 Predict Stroke")
58
 
59
  with gr.Column():
 
60
  output_text = gr.Textbox(label="📝 Prediction Output", lines=5)
61
 
62
+ # เมื่ออัปโหลดรูปแล้ว resize และแสดงแทนที่เดิมทันที
63
+ image_input.upload(resize_image, inputs=image_input, outputs=image_input)
64
 
65
  # เมื่อกดปุ่ม Predict ใช้ภาพที่ resize แล้วไปทำนาย
66
  predict_button.click(
67
  predict_with_model,
68
+ inputs=[image_input, model_selector],
69
  outputs=output_text
70
  )
71