maheshdev209/fhehp
0
1"""Generating deployment files."""2 3import shutil4 5from pathlib import Path6 7import pandas as pd8 9from concrete.ml.sklearn import LogisticRegression as ConcreteLogisticRegression10from concrete.ml.deployment import FHEModelDev11 12 13# Data files location14TRAINING_FILE_NAME = "./data/Training_preprocessed.csv"15TESTING_FILE_NAME = "./data/Testing_preprocessed.csv"16 17# Load data18df_train = pd.read_csv(TRAINING_FILE_NAME)19df_test = pd.read_csv(TESTING_FILE_NAME)20 21# Split the data into X_train, y_train, X_test_, y_test sets22TARGET_COLUMN = ["prognosis_encoded", "prognosis"]23 24y_train = df_train[TARGET_COLUMN[0]].values.flatten()25y_test = df_test[TARGET_COLUMN[0]].values.flatten()26 27X_train = df_train.drop(TARGET_COLUMN, axis=1)28X_test = df_test.drop(TARGET_COLUMN, axis=1)29 30# Concrete ML model31 32# Models parameters33optimal_param = {"C": 0.9, "n_bits": 13, "solver": "sag", "multi_class": "auto"}34 35clf = ConcreteLogisticRegression(**optimal_param)36 37# Fit the model38clf.fit(X_train, y_train)39 40# Compile the model41fhe_circuit = clf.compile(X_train)42 43fhe_circuit.client.keygen(force=False)44 45path_to_model = Path("./deployment_files/").resolve()46 47if path_to_model.exists():48 shutil.rmtree(path_to_model)49 50dev = FHEModelDev(path_to_model, clf)51 52dev.save(via_mlir=True)