Nos7 commited on
Commit
67a7d09
·
verified ·
1 Parent(s): ca41708

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -0
app.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ x = st.slider('Select a value')
4
+ st.write(x, 'squared is', x * x)
5
+
6
+ """Generating deployment files."""
7
+
8
+ import shutil
9
+
10
+ from pathlib import Path
11
+
12
+ import pandas as pd
13
+
14
+ from concrete.ml.sklearn import LogisticRegression as ConcreteLogisticRegression
15
+ from concrete.ml.deployment import FHEModelDev
16
+
17
+
18
+ # Data files location
19
+ TRAINING_FILE_NAME = "./data/Training_preprocessed.csv"
20
+ TESTING_FILE_NAME = "./data/Testing_preprocessed.csv"
21
+
22
+ # Load data
23
+ df_train = pd.read_csv(TRAINING_FILE_NAME)
24
+ df_test = pd.read_csv(TESTING_FILE_NAME)
25
+
26
+ # Split the data into X_train, y_train, X_test_, y_test sets
27
+ TARGET_COLUMN = ["prognosis_encoded", "prognosis"]
28
+
29
+ y_train = df_train[TARGET_COLUMN[0]].values.flatten()
30
+ y_test = df_test[TARGET_COLUMN[0]].values.flatten()
31
+
32
+ X_train = df_train.drop(TARGET_COLUMN, axis=1)
33
+ X_test = df_test.drop(TARGET_COLUMN, axis=1)
34
+
35
+ # Concrete ML model
36
+
37
+ # Models parameters
38
+ optimal_param = {"C": 0.9, "n_bits": 13, "solver": "sag", "multi_class": "auto"}
39
+
40
+ clf = ConcreteLogisticRegression(**optimal_param)
41
+
42
+ # Fit the model
43
+ clf.fit(X_train, y_train)
44
+
45
+ # Compile the model
46
+ fhe_circuit = clf.compile(X_train)
47
+
48
+ fhe_circuit.client.keygen(force=False)
49
+
50
+ path_to_model = Path("./deployment_files/").resolve()
51
+
52
+ if path_to_model.exists():
53
+ shutil.rmtree(path_to_model)
54
+
55
+ dev = FHEModelDev(path_to_model, clf)
56
+
57
+ dev.save(via_mlir=True)