AeternumS commited on
Commit
666c567
1 Parent(s): 45a5d68
Files changed (1) hide show
  1. app.py +8 -4
app.py CHANGED
@@ -84,16 +84,19 @@ st.write(f"### Accuracy: {round(accuracy * 100, 2)}%")
84
  joblib.dump(dt, 'heart_disease_dt_model.pkl')
85
 
86
  # Convert the model for FHE
 
87
  fhe_compatible = FHEDecisionTreeClassifier.from_sklearn_model(dt, x_train, n_bits=10)
88
  fhe_compatible.compile(x_train)
89
 
90
  # Setup the server
 
91
  dev = FHEModelDev(path_dir=fhe_directory, model=fhe_compatible)
92
  dev.save()
93
  server = FHEModelServer(path_dir=fhe_directory)
94
  server.load()
95
 
96
  # Setup the client
 
97
  client = FHEModelClient(path_dir=fhe_directory, key_dir="/tmp/keys_client")
98
  serialized_evaluation_keys = client.get_serialized_evaluation_keys()
99
 
@@ -101,13 +104,14 @@ serialized_evaluation_keys = client.get_serialized_evaluation_keys()
101
  sample_data = clean_data.iloc[0, 1:].values.reshape(1, -1) # First sample for prediction
102
  encrypted_data = client.quantize_encrypt_serialize(sample_data)
103
 
 
104
  # Run the server with encrypted data
105
  encrypted_result = server.run(encrypted_data, serialized_evaluation_keys)
 
106
  result = client.deserialize_decrypt_dequantize(encrypted_result)
107
 
108
- print(result)
109
  st.write("### Encrypted Prediction Result")
110
- if result:
111
- print("Prediction: The patient is likely to have heart disease.")
112
  else:
113
- print("Prediction: The patient is unlikely to have heart disease.")
 
84
  joblib.dump(dt, 'heart_disease_dt_model.pkl')
85
 
86
  # Convert the model for FHE
87
+ st.write("### Converting the model for FHE...")
88
  fhe_compatible = FHEDecisionTreeClassifier.from_sklearn_model(dt, x_train, n_bits=10)
89
  fhe_compatible.compile(x_train)
90
 
91
  # Setup the server
92
+ st.write("### Setting up the FHE server...")
93
  dev = FHEModelDev(path_dir=fhe_directory, model=fhe_compatible)
94
  dev.save()
95
  server = FHEModelServer(path_dir=fhe_directory)
96
  server.load()
97
 
98
  # Setup the client
99
+ st.write("### Setting up the FHE client...")
100
  client = FHEModelClient(path_dir=fhe_directory, key_dir="/tmp/keys_client")
101
  serialized_evaluation_keys = client.get_serialized_evaluation_keys()
102
 
 
104
  sample_data = clean_data.iloc[0, 1:].values.reshape(1, -1) # First sample for prediction
105
  encrypted_data = client.quantize_encrypt_serialize(sample_data)
106
 
107
+ st.write("### Running the server with encrypted data...")
108
  # Run the server with encrypted data
109
  encrypted_result = server.run(encrypted_data, serialized_evaluation_keys)
110
+ st.write("### Decrypting the prediction result...")
111
  result = client.deserialize_decrypt_dequantize(encrypted_result)
112
 
 
113
  st.write("### Encrypted Prediction Result")
114
+ if result == 1:
115
+ st.write("Prediction: The patient is likely to have heart disease.")
116
  else:
117
+ st.write("Prediction: The patient is unlikely to have heart disease.")