PinHsuan commited on
Commit
4bd40e6
·
verified ·
1 Parent(s): 3bf0f8d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -9
app.py CHANGED
@@ -50,13 +50,10 @@ metric_fc.load_state_dict(checkpoint['fc'])
50
  scaler_ccmq = joblib.load(f"scaler_ccmq_fold_{FOLD}.pkl")
51
  scaler_osdi = joblib.load(f"scaler_osdi_fold_{FOLD}.pkl")
52
 
 
53
  def analyze_and_predict(*all_answers):
54
- # 1. 數值映射 (與訓練時的編碼一致)
55
- ccmq_map = {"總是": 5, "經常": 4, "有時": 3, "很少": 2, "沒有": 1}
56
- osdi_map = {"總是": 4, "經常": 3, "一半一半": 2, "偶而": 1, "完全不曾": 0}
57
-
58
- x1_raw = np.array([[ccmq_map[a] for a in all_answers[:25]]])
59
- x2_raw = np.array([[osdi_map[a] for a in all_answers[25:]]])
60
 
61
  x1_scaled = scaler_ccmq.transform(x1_raw)
62
  x2_scaled = scaler_osdi.transform(x2_raw)
@@ -99,7 +96,7 @@ with gr.Blocks(theme=gr.themes.Soft(), css=".scroll-box { height: 450px; overflo
99
  with gr.Tabs() as survey_tabs:
100
  with gr.Tab("CCMQ 體質評估", id=0):
101
  with gr.Group(elem_classes="scroll-box"):
102
- ccmq_labels = ["惡寒惡風", "自汗", "胸悶腹脹","咽喉痰梗感","多愁善感","易受驚","面部暗沉","褐班","黑眼圈","健忘","唇色暗","身熱、面熱","膚乾口乾","唇紅","便祕","兩顴紅","眼乾澀","四肢冷","惡寒、腰膝冷","飲冷腹瀉","口苦口臭","帶下色黃/下陰潮濕","鼻塞流涕","變天咳喘","過敏"]
103
  all_ccmq = [gr.Radio(["總是", "經常", "有時", "很少", "沒有"], label=f"{i+1}. {txt}") for i, txt in enumerate(ccmq_labels)]
104
  btn_next = gr.Button("下一步", variant="primary")
105
 
@@ -108,7 +105,6 @@ with gr.Blocks(theme=gr.themes.Soft(), css=".scroll-box { height: 450px; overflo
108
  gr.Markdown("#### A. 眼睛症狀")
109
  gr.Markdown("#### 在過去一週中,您是否出現下列任一症狀?")
110
  o1 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="1. 眼睛對光敏感?")
111
- o2 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="2. 眼睛有異物感?")
112
  o3 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="3. 眼睛疼痛?")
113
  o4 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="4. 視線模糊?")
114
  o5 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="5. 視力減退?")
@@ -125,7 +121,6 @@ with gr.Blocks(theme=gr.themes.Soft(), css=".scroll-box { height: 450px; overflo
125
  gr.Markdown("#### C. 環境因素不適感")
126
  gr.Markdown("#### 在過去一週中遇到任一狀況時,您的眼睛是否曾感覺不適?")
127
  o10 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="10. 刮風的狀況?")
128
- o11 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="11. 濕度較低?")
129
  o12 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="12. 區域使用空調?")
130
 
131
  all_osdi = [o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12]
 
50
  scaler_ccmq = joblib.load(f"scaler_ccmq_fold_{FOLD}.pkl")
51
  scaler_osdi = joblib.load(f"scaler_osdi_fold_{FOLD}.pkl")
52
 
53
+ model = DualStreamTransformer(n_feat1=24, n_feat2=10, d_model=32).to(DEVICE)
54
  def analyze_and_predict(*all_answers):
55
+ ccmq_ans = all_answers[:24]
56
+ osdi_ans = all_answers[25:35]
 
 
 
 
57
 
58
  x1_scaled = scaler_ccmq.transform(x1_raw)
59
  x2_scaled = scaler_osdi.transform(x2_raw)
 
96
  with gr.Tabs() as survey_tabs:
97
  with gr.Tab("CCMQ 體質評估", id=0):
98
  with gr.Group(elem_classes="scroll-box"):
99
+ ccmq_labels = ["惡寒惡風", "自汗", "胸悶腹脹","咽喉痰梗感","多愁善感","易受驚","面部暗沉","黑眼圈","健忘","唇色暗","身熱、面熱","膚乾口乾","唇紅","便祕","兩顴紅","眼乾澀","四肢冷","惡寒、腰膝冷","飲冷腹瀉","口苦口臭","帶下色黃/下陰潮濕","鼻塞流涕","變天咳喘","過敏"]
100
  all_ccmq = [gr.Radio(["總是", "經常", "有時", "很少", "沒有"], label=f"{i+1}. {txt}") for i, txt in enumerate(ccmq_labels)]
101
  btn_next = gr.Button("下一步", variant="primary")
102
 
 
105
  gr.Markdown("#### A. 眼睛症狀")
106
  gr.Markdown("#### 在過去一週中,您是否出現下列任一症狀?")
107
  o1 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="1. 眼睛對光敏感?")
 
108
  o3 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="3. 眼睛疼痛?")
109
  o4 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="4. 視線模糊?")
110
  o5 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="5. 視力減退?")
 
121
  gr.Markdown("#### C. 環境因素不適感")
122
  gr.Markdown("#### 在過去一週中遇到任一狀況時,您的眼睛是否曾感覺不適?")
123
  o10 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="10. 刮風的狀況?")
 
124
  o12 = gr.Radio(["總是", "經常","一半一半","偶而","完全不曾"], label="12. 區域使用空調?")
125
 
126
  all_osdi = [o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12]