aboutsummaryrefslogtreecommitdiff
path: root/backend/microservice/mlservice.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/microservice/mlservice.py')
-rw-r--r--backend/microservice/mlservice.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/backend/microservice/mlservice.py b/backend/microservice/mlservice.py
index 40dd691d..a244e700 100644
--- a/backend/microservice/mlservice.py
+++ b/backend/microservice/mlservice.py
@@ -1,3 +1,4 @@
+from statistics import mode
from typing_extensions import Self
import pandas as pd
import tensorflow as tf
@@ -10,6 +11,7 @@ from flask import request, jsonify, render_template
from sklearn.preprocessing import LabelEncoder
import csv
import json
+import h5py
class Response:
def __init__(self,tacnost,preciznost,recall,spec,f1,mse,mae,mape,rmse):
@@ -33,12 +35,16 @@ class fCallback(tf.keras.callbacks.Callback):
print('Evaluation: ', self.model.evaluate(self.x_test,self.y_test),"\n")#broj parametara zavisi od izabranih metrika loss je default
-def obuka(dataunos,params):
+def obuka(dataunos,params,modelunos):
import numpy as np
import pandas as pd
import tensorflow as tf
import matplotlib.pyplot as plt
-
+ ### -1) Ucitavanje h5 modela PART3
+ if(modelunos!=None):
+ # print("Model je unet")
+ model=modelunos
+
### 0) Pretvaranje data seta u novi, sa kolonama koje je korisnik izabrao za obuku
data=pd.DataFrame()
@@ -47,6 +53,7 @@ def obuka(dataunos,params):
data[zeljenekolone[i]]=dataunos[zeljenekolone[i]]
#print(data.head(10))
+
#predvidetikol=input("UNETI NAZIV KOLONE ČIJU VREDNOST TREBA PREDVIDETI ")
###sta se cuva od promenjivih broj kolone ili naziv kolone???
predvidetikol=params["columnToPredict"]
@@ -346,10 +353,13 @@ def obuka(dataunos,params):
plt.ylabel('True Positive Rate')
plt.show()
'''
-
+ ##### H5 CUVANJE ##### PART3
+ nazivmodela=params['h5ModelName']
+ classifier.save(nazivmodela, save_format='h5')
+
r=Response(float(tacnost),float(preciznost),float(recall),float(spec),float(f1),float(mse),float(mae),float(mape),float(rmse))
import jsonpickle
- return json.dumps(json.loads(jsonpickle.encode(r)), indent=2)
+ return json.dumps(json.loads(jsonpickle.encode(r)), indent=2)
return "Done"