buraktrk commited on
Commit
451a347
·
verified ·
1 Parent(s): 2879807

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -10
app.py CHANGED
@@ -163,7 +163,7 @@ if os.path.exists(fhe_dir):
163
 
164
  final_model = ConcreteXGBClassifier(n_bits=8, **best_params, random_state=42)
165
  final_model.fit(Xtr_sel, ytr_e)
166
- final_model.compile(Xtr_sel[:4])
167
 
168
  dev = FHEModelDev(path_dir=fhe_dir, model=final_model)
169
  dev.save()
@@ -197,7 +197,6 @@ def generate_keys():
197
 
198
 
199
 
200
-
201
  def encrypt_excel(file):
202
  global encrypted_input
203
  if client is None:
@@ -205,7 +204,7 @@ def encrypt_excel(file):
205
 
206
  df = pd.read_excel(file.name, header=None).set_index(0).T.reset_index(drop=True)
207
 
208
- # 🔧 Güçlendirilmiş temizlik işlemleri
209
  df.columns = df.columns.str.strip()
210
  df = df.loc[:, ~df.columns.duplicated()]
211
  df.rename(columns={"Desc": "Periyot"}, inplace=True)
@@ -214,12 +213,19 @@ def encrypt_excel(file):
214
 
215
  enriched = compute_ratios(df)
216
  X_input = enriched[COLS].dropna()
217
- print("📐 Şifreleme öncesi shape:", X_input.shape)
218
 
219
  scaled = scaler_sel.transform(X_input)
220
 
221
- encrypted_input = client.quantize_encrypt_serialize(scaled)
222
- return str(encrypted_input[:120]) + "..."
 
 
 
 
 
 
 
223
 
224
 
225
 
@@ -232,15 +238,29 @@ def run_fhe():
232
  server.load()
233
 
234
  eval_keys = client.get_serialized_evaluation_keys()
235
- encrypted_output = server.run(encrypted_input, eval_keys)
236
- return "Tahmin tamamlandı."
 
 
 
 
 
 
 
 
237
 
238
 
239
  def decrypt_result():
240
  if encrypted_output is None:
241
  raise gr.Error("Henüz tahmin yapılmadı.")
242
- prediction = client.deserialize_decrypt_dequantize(encrypted_output)
243
- return encoder.inverse_transform([int(prediction[0])])[0]
 
 
 
 
 
 
244
 
245
 
246
 
 
163
 
164
  final_model = ConcreteXGBClassifier(n_bits=8, **best_params, random_state=42)
165
  final_model.fit(Xtr_sel, ytr_e)
166
+ final_model.compile(Xtr_sel[:1])
167
 
168
  dev = FHEModelDev(path_dir=fhe_dir, model=final_model)
169
  dev.save()
 
197
 
198
 
199
 
 
200
  def encrypt_excel(file):
201
  global encrypted_input
202
  if client is None:
 
204
 
205
  df = pd.read_excel(file.name, header=None).set_index(0).T.reset_index(drop=True)
206
 
207
+ # Temizlik işlemleri
208
  df.columns = df.columns.str.strip()
209
  df = df.loc[:, ~df.columns.duplicated()]
210
  df.rename(columns={"Desc": "Periyot"}, inplace=True)
 
213
 
214
  enriched = compute_ratios(df)
215
  X_input = enriched[COLS].dropna()
216
+ print(" Şifreleme öncesi shape:", X_input.shape)
217
 
218
  scaled = scaler_sel.transform(X_input)
219
 
220
+ # Her satırı ayrı ayrı şifrele
221
+ encrypted_list = []
222
+ for row in scaled:
223
+ row = row.reshape(1, -1)
224
+ encrypted = client.quantize_encrypt_serialize(row)
225
+ encrypted_list.append(encrypted)
226
+
227
+ encrypted_input = encrypted_list
228
+ return f"{len(encrypted_input)} adet satır şifrelendi."
229
 
230
 
231
 
 
238
  server.load()
239
 
240
  eval_keys = client.get_serialized_evaluation_keys()
241
+ encrypted_result = []
242
+
243
+ for enc in encrypted_input:
244
+ result = server.run(enc, eval_keys)
245
+ encrypted_result.append(result)
246
+
247
+ encrypted_output = encrypted_result
248
+ return f"{len(encrypted_output)} satır için tahmin tamamlandı."
249
+
250
+
251
 
252
 
253
  def decrypt_result():
254
  if encrypted_output is None:
255
  raise gr.Error("Henüz tahmin yapılmadı.")
256
+
257
+ predictions = []
258
+ for enc in encrypted_output:
259
+ pred = client.deserialize_decrypt_dequantize(enc)
260
+ label = encoder.inverse_transform([int(pred[0])])[0]
261
+ predictions.append(label)
262
+
263
+ return "\n".join(f"{i+1}. {label}" for i, label in enumerate(predictions))
264
 
265
 
266