diff --git a/AANN_Fit.py b/AANN_Fit.py index 9e371fd..d19074e 100644 --- a/AANN_Fit.py +++ b/AANN_Fit.py @@ -4,9 +4,6 @@ import config import json import sys import requests -import datetime -import jenkspy -import xlrd import AANN_Fit import traceback diff --git a/ANN_Test_offline.py b/ANN_Test_offline.py index 1f9ee22..2993437 100644 --- a/ANN_Test_offline.py +++ b/ANN_Test_offline.py @@ -5,24 +5,26 @@ @File : ANN_test.py @Software: PyCharm """ +import json import os import time -import json -import requests + +import keras import numpy as np +import requests import tensorflow as tf -from tensorflow.keras import backend -import PCA_Test_offline +from keras import backend +from keras.models import model_from_json from sklearn.preprocessing import MinMaxScaler -from tensorflow.keras.models import load_model -from tensorflow.keras.models import model_from_json + import config os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" -def get_history_value(points,time1,interval,typedata): - url=f"http://{config._EXA_IP}:9000/exawebapi/exatime/GetSamplingValueArrayFloat" - headers = {"Content-Type": "application/json;charset=utf-8"}#,"token":get_token() + +def get_history_value(points, time1, interval, typedata): + url = f"http://{config._EXA_IP}:9000/exawebapi/exatime/GetSamplingValueArrayFloat" + headers = {"Content-Type": "application/json;charset=utf-8"} # ,"token":get_token() point_array = points.split(",") time_span = time1.split(";") value_array = [] @@ -33,7 +35,7 @@ def get_history_value(points,time1,interval,typedata): et = time_piece.split(",")[1] para = {"ItemName": item, "StartingTime": st, "TerminalTime": et, "SamplingPeriod": interval} response = requests.get(url, headers=headers, params=para) - value = eval(str(response.text).replace("\"","").replace("null","0")) + value = eval(str(response.text).replace("\"", "").replace("null", "0")) for row in value: value_group.append(row[1]) value_array.append(value_group) @@ -43,19 +45,19 @@ def get_history_value(points,time1,interval,typedata): # data_y = [(valuetrs.T)[:, item[0]].tolist() for item in typeArr if item[1] == "1"] x_data = np.array(data_x).T # y_data = np.array(data_y).T - return x_data,valuetrs + return x_data, valuetrs def rmse(y_true, y_pred): - return backend.sqrt(backend.mean(tf.keras.losses.mean_squared_error(y_true, y_pred), axis=-1)) + return backend.sqrt(backend.mean(keras.losses.mean_squared_error(y_true, y_pred), axis=-1)) -def main(mms1,mms2,x_data,origndata,filepath,weight): - #x_data=np.array(x_data) +def main(mms1, mms2, x_data, origndata, filepath, weight): + # x_data=np.array(x_data) mms_x = MinMaxScaler() mms_y = MinMaxScaler() mms_x.data_max_ = np.array(mms1["data_max_"]) - #mms_x.data_max_ = np.array(mms1.data_max_) + # mms_x.data_max_ = np.array(mms1.data_max_) mms_x.data_min_ = np.array(mms1["data_min_"]) mms_x.data_range_ = np.array(mms1["data_range_"]) mms_x.min_ = np.array(mms1["min_"]) @@ -66,46 +68,46 @@ def main(mms1,mms2,x_data,origndata,filepath,weight): mms_y.min_ = np.array(mms2["min_"]) mms_y.scale_ = np.array(mms2["scale_"]) for i in range(len(weight)): - weight[i]=np.array(weight[i]) + weight[i] = np.array(weight[i]) # 用对应的归一化信息将输入数据归一化,输出反归一化 normal_data = mms_x.transform(x_data) t1 = time.time() - #model = load_model("my_model.h5") - #model=load_model(filepath) + # model = load_model("my_model.h5") + # model=load_model(filepath) try: - filepath=json.dumps(filepath) - model=model_from_json(filepath) + filepath = json.dumps(filepath) + model = model_from_json(filepath) except TypeError: model = model_from_json(json.loads(filepath)) model.set_weights(weight) t2 = time.time() predict_data = model.predict(normal_data, batch_size=100) - t3=time.time() + t3 = time.time() y_normal = mms_y.transform(origndata) with tf.compat.v1.Session(): spe = rmse(predict_data, y_normal).eval() - mse=tf.sqrt(tf.keras.losses.mean_squared_error(predict_data, y_normal)).eval() + mse = tf.sqrt(keras.losses.mean_squared_error(predict_data, y_normal)).eval() y_data = mms_y.inverse_transform(predict_data) - #return y_data - result={} + # return y_data + result = {} errorData = y_data - origndata - result["reconData"]=(y_data.T).tolist() + result["reconData"] = (y_data.T).tolist() result["errorData"] = (errorData.T).tolist() result["SPE"] = spe - result["mse"]=mse.tolist() - result["x"]=x_data.tolist() - result["time1"]=t2-t1 - result["time2"]=t3-t2 + result["mse"] = mse.tolist() + result["x"] = x_data.tolist() + result["time1"] = t2 - t1 + result["time2"] = t3 - t2 return result -def test_offline_main(mms1,mms2,x_data,output_data, filepath,weight): - #x_data=np.array(x_data) +def test_offline_main(mms1, mms2, x_data, output_data, filepath, weight): + # x_data=np.array(x_data) mms_x = MinMaxScaler() mms_y = MinMaxScaler() mms3 = MinMaxScaler() mms_x.data_max_ = np.array(mms1["data_max_"]) - #mms_x.data_max_ = np.array(mms1.data_max_) + # mms_x.data_max_ = np.array(mms1.data_max_) mms_x.data_min_ = np.array(mms1["data_min_"]) mms_x.data_range_ = np.array(mms1["data_range_"]) mms_x.min_ = np.array(mms1["min_"]) @@ -116,21 +118,21 @@ def test_offline_main(mms1,mms2,x_data,output_data, filepath,weight): mms_y.min_ = np.array(mms2["min_"]) mms_y.scale_ = np.array(mms2["scale_"]) for i in range(len(weight)): - weight[i]=np.array(weight[i]) + weight[i] = np.array(weight[i]) # 用对应的归一化信息将输入数据归一化,输出反归一化 normal_data = mms_x.transform(x_data) - #model = load_model("my_model.h5") - #model=load_model(filepath) - model=model_from_json(json.dumps(filepath)) + # model = load_model("my_model.h5") + # model=load_model(filepath) + model = model_from_json(json.dumps(filepath)) model.set_weights(weight) predict_data = model.predict(normal_data, batch_size=100) y_data = mms_y.inverse_transform(predict_data) - #return y_data - result={} + # return y_data + result = {} y_normal = mms3.fit_transform(output_data) with tf.compat.v1.Session(): spe = rmse(predict_data, y_normal).eval() - errorData = output_data-np.array(y_data) + errorData = output_data - np.array(y_data) paraState = [] temp_list = [] for item in output_data[0]: @@ -142,15 +144,17 @@ def test_offline_main(mms1,mms2,x_data,output_data, filepath,weight): result["FAI"] = [spe] return result + def isnumber(limits): - flag=True + flag = True for item in limits: - item=item.replace("-","") - if(item.isdigit()==False): - flag=False + item = item.replace("-", "") + if (item.isdigit() == False): + flag = False break return flag + def clean_main(info): try: datatype = info['type'] @@ -227,7 +231,7 @@ def clean_main(info): if __name__ == "__main__": - #info_str=r'{"model":"{\"filename\":{\"class_name\":\"Sequential\",\"config\":{\"name\":\"sequential\",\"layers\":[{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense\",\"trainable\":true,\"batch_input_shape\":[null,2],\"dtype\":\"float32\",\"units\":5,\"activation\":\"sigmoid\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}},{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense_1\",\"trainable\":true,\"dtype\":\"float32\",\"units\":1,\"activation\":\"linear\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}}]},\"keras_version\":\"2.2.4-tf\",\"backend\":\"tensorflow\"},\"mms1\":{\"data_max_\":[78.94322,81.25558],\"data_min_\":[64.52349,63.5361977],\"data_range_\":[14.419730000000001,17.719382299999992],\"min_\":[-4.47466700139323,-3.5856891975291956],\"scale_\":[0.06934942609882432,0.056435375853931456]},\"mms2\":{\"data_max_\":[82.4897156],\"data_min_\":[64.52349],\"data_range_\":[17.9662256],\"min_\":[-3.59137703358239],\"scale_\":[0.0556599934935694]},\"train_max\":[82.4897156,81.25558,80.96978,79.69671,77.449295,74.86414,71.75935,68.6935349,68.45969,71.23971,73.13635,74.24058,75.4357452,76.6438751,77.20247,77.69612,77.96892,78.16381,78.4236,78.68343,78.81335,78.90425,78.91726,78.7873459,78.709404,78.60549,78.59249,78.4236,78.306694,78.11184,77.94295,75.7994843,74.30555,74.95509,75.47472,75.57862,75.72154,75.61759,75.42274,75.16291,75.02003,74.8771057,74.7602,74.64329,74.44843,74.33152,74.1886,73.9937439,73.9158,73.8119,73.74692,73.61704,73.44816,73.2532654,73.14935,72.9415,72.79862,72.61673,72.4608459,72.31795,72.2010345,72.058136,71.92822,71.75935,71.5774841,71.38261,71.27868,71.09681,70.96692,70.837,70.7070847,70.60317,70.4862442,70.3433456,70.2654,70.23942,70.20045,70.1355057,70.0835342,70.00559,69.9406357,69.84971,69.70681,69.64185,69.56391,69.434,69.35606,69.33007,69.33007,69.2781143,69.3170853,69.23914,69.2911,69.39503,69.56391,69.60288,69.5379257,69.4989548,69.48597,69.434,69.33007,69.2261353,69.2261353,69.33007,69.3041,69.0962448,68.03099,67.0307159,66.4850845,66.0823746,65.7186356,65.41985,65.12107,64.77032,64.52349,64.6403961,65.66668,66.40714,66.88782,67.08267,67.22557,67.3295,67.55034,67.5763245,66.83584],\"train_min\":[78.94322,77.4752655,77.5532455,76.35808,73.96778,71.03185,67.7971649,64.6923752,66.44611,70.51223,72.79862,74.21461,75.3058243,76.2801361,76.8907,77.30642,77.61818,77.76106,77.9559555,78.18978,78.33266,78.4236,78.39764,78.345665,78.18978,78.07287,78.00789,77.87801,77.80003,77.67016,77.488266,75.56566,74.29255,74.55234,74.7732,74.95509,75.046,74.83814,74.63032,74.42246,74.25358,74.1366653,73.9937439,73.9028,73.7339554,73.5261,73.37022,73.20133,73.05841,72.9285,72.79862,72.72068,72.56476,72.43486,72.27898,72.07112,71.85028,71.655426,71.49952,71.35662,71.2527161,71.07082,70.8889542,70.77204,70.61616,70.46027,70.3563461,70.14849,70.04456,69.84971,69.7197952,69.62887,69.4989548,69.36903,69.25213,69.26511,69.26511,69.21316,69.07026,69.0183,68.8624,68.7844543,68.70651,68.6025848,68.55064,68.40773,68.34277,68.34277,68.25183,68.18689,68.12193,68.08296,68.12193,68.13492,68.1479,68.17389,68.10893,68.08296,68.03099,68.0180054,67.91408,67.73221,67.7971649,67.73221,67.70622,67.36847,66.38118,65.95248,65.48481,65.0691,64.74433,64.44555,64.14677,63.7830238,63.5361977,63.5361977,64.1077957,64.70536,65.1340561,65.41985,65.54975,65.79658,65.80958,65.96546,65.52378],\"train_ave\":[80.5497552,79.99547516666667,79.83093516666668,78.58383333333333,76.28879,73.58671,70.43862163333334,67.359815,67.78849666666666,70.99721666666666,73.02377333333332,74.23192333333333,75.39243823333334,76.52262876666667,77.09854666666666,77.56622,77.84768516666666,78.02956,78.22874983333332,78.46258666666667,78.60548,78.70073,78.71374,78.6054803,78.49722466666667,78.40629,78.35865333333332,78.20710150000001,78.11182466666666,77.96461333333333,77.79138866666666,75.72154286666667,74.30121666666666,74.82083999999999,75.24088,75.37077666666666,75.49636,75.35777333333334,75.15859999999999,74.91609333333334,74.76454666666667,74.63029223333334,74.50471463333334,74.39645999999999,74.2102718,74.06304666666666,73.91580666666665,73.72960593333333,73.63000333333333,73.51743333333333,73.43082,73.31825333333335,73.13636666666666,72.98046360000001,72.85922666666666,72.65137333333332,72.48250666666667,72.29629533333333,72.14040393333333,71.99750666666667,71.88492836666667,71.72903066666667,71.58179806666666,71.43024666666666,71.25704273333334,71.07516333333332,70.97123536666666,70.78070333333334,70.65946666666667,70.50790333333333,70.37798819999999,70.27840333333334,70.15714773333333,70.01857373333333,69.92764333333334,69.91465,69.88867,69.82805713333333,69.74577613333334,69.67649333333333,69.58122379999999,69.48596143333333,69.37337666666667,69.2911016,69.21316333333334,69.08758,69.01396666666666,68.98365143333334,68.92735666666665,68.87106476666666,68.84508670000001,68.81044000000001,68.84075,68.89271333333333,68.97066000000001,68.97932333333333,68.94467333333334,68.88838493333334,68.88405859999999,68.82343513333332,68.70651813333335,68.5809332,68.60258483333332,68.60691666666668,68.59393333333334,68.2301916,67.31650666666667,66.67130393333333,66.13866816666666,65.7446164,65.39386706666666,65.09508333333333,64.79630333333334,64.44122126666666,64.19439256666666,64.27232996666667,65.0344619,65.66667333333334,66.0867187,66.34219183333333,66.480758,66.63665666666667,66.74491,66.82285816666666,66.24259666666667],\"pre_max\":[2.6586617944335984],\"pre_min\":[-5.7904892206054654],\"pre_ave\":[0.049737347943749455],\"pre_s\":[4.881696903414218],\"pre_s_ave\":4.881696903414218,\"limit\":0.2718421401094552,\"CleanOrNot\":true,\"BeforeCleanSamNum\":125,\"AfterCleanSamNum\":125}","type":"0,0,0","point":"JL_D1_10MILLA:SEP_TEMP.PNT,JL_D1_10FSSS20A:HFC10CT301.PNT,JL_D1_10FSSS20A:HFC10CT302.PNT","time":"2020-02-04 23:21:28,2020-02-05 23:21:28","interval":300000}' + # info_str=r'{"model":"{\"filename\":{\"class_name\":\"Sequential\",\"config\":{\"name\":\"sequential\",\"layers\":[{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense\",\"trainable\":true,\"batch_input_shape\":[null,2],\"dtype\":\"float32\",\"units\":5,\"activation\":\"sigmoid\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}},{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense_1\",\"trainable\":true,\"dtype\":\"float32\",\"units\":1,\"activation\":\"linear\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}}]},\"keras_version\":\"2.2.4-tf\",\"backend\":\"tensorflow\"},\"mms1\":{\"data_max_\":[78.94322,81.25558],\"data_min_\":[64.52349,63.5361977],\"data_range_\":[14.419730000000001,17.719382299999992],\"min_\":[-4.47466700139323,-3.5856891975291956],\"scale_\":[0.06934942609882432,0.056435375853931456]},\"mms2\":{\"data_max_\":[82.4897156],\"data_min_\":[64.52349],\"data_range_\":[17.9662256],\"min_\":[-3.59137703358239],\"scale_\":[0.0556599934935694]},\"train_max\":[82.4897156,81.25558,80.96978,79.69671,77.449295,74.86414,71.75935,68.6935349,68.45969,71.23971,73.13635,74.24058,75.4357452,76.6438751,77.20247,77.69612,77.96892,78.16381,78.4236,78.68343,78.81335,78.90425,78.91726,78.7873459,78.709404,78.60549,78.59249,78.4236,78.306694,78.11184,77.94295,75.7994843,74.30555,74.95509,75.47472,75.57862,75.72154,75.61759,75.42274,75.16291,75.02003,74.8771057,74.7602,74.64329,74.44843,74.33152,74.1886,73.9937439,73.9158,73.8119,73.74692,73.61704,73.44816,73.2532654,73.14935,72.9415,72.79862,72.61673,72.4608459,72.31795,72.2010345,72.058136,71.92822,71.75935,71.5774841,71.38261,71.27868,71.09681,70.96692,70.837,70.7070847,70.60317,70.4862442,70.3433456,70.2654,70.23942,70.20045,70.1355057,70.0835342,70.00559,69.9406357,69.84971,69.70681,69.64185,69.56391,69.434,69.35606,69.33007,69.33007,69.2781143,69.3170853,69.23914,69.2911,69.39503,69.56391,69.60288,69.5379257,69.4989548,69.48597,69.434,69.33007,69.2261353,69.2261353,69.33007,69.3041,69.0962448,68.03099,67.0307159,66.4850845,66.0823746,65.7186356,65.41985,65.12107,64.77032,64.52349,64.6403961,65.66668,66.40714,66.88782,67.08267,67.22557,67.3295,67.55034,67.5763245,66.83584],\"train_min\":[78.94322,77.4752655,77.5532455,76.35808,73.96778,71.03185,67.7971649,64.6923752,66.44611,70.51223,72.79862,74.21461,75.3058243,76.2801361,76.8907,77.30642,77.61818,77.76106,77.9559555,78.18978,78.33266,78.4236,78.39764,78.345665,78.18978,78.07287,78.00789,77.87801,77.80003,77.67016,77.488266,75.56566,74.29255,74.55234,74.7732,74.95509,75.046,74.83814,74.63032,74.42246,74.25358,74.1366653,73.9937439,73.9028,73.7339554,73.5261,73.37022,73.20133,73.05841,72.9285,72.79862,72.72068,72.56476,72.43486,72.27898,72.07112,71.85028,71.655426,71.49952,71.35662,71.2527161,71.07082,70.8889542,70.77204,70.61616,70.46027,70.3563461,70.14849,70.04456,69.84971,69.7197952,69.62887,69.4989548,69.36903,69.25213,69.26511,69.26511,69.21316,69.07026,69.0183,68.8624,68.7844543,68.70651,68.6025848,68.55064,68.40773,68.34277,68.34277,68.25183,68.18689,68.12193,68.08296,68.12193,68.13492,68.1479,68.17389,68.10893,68.08296,68.03099,68.0180054,67.91408,67.73221,67.7971649,67.73221,67.70622,67.36847,66.38118,65.95248,65.48481,65.0691,64.74433,64.44555,64.14677,63.7830238,63.5361977,63.5361977,64.1077957,64.70536,65.1340561,65.41985,65.54975,65.79658,65.80958,65.96546,65.52378],\"train_ave\":[80.5497552,79.99547516666667,79.83093516666668,78.58383333333333,76.28879,73.58671,70.43862163333334,67.359815,67.78849666666666,70.99721666666666,73.02377333333332,74.23192333333333,75.39243823333334,76.52262876666667,77.09854666666666,77.56622,77.84768516666666,78.02956,78.22874983333332,78.46258666666667,78.60548,78.70073,78.71374,78.6054803,78.49722466666667,78.40629,78.35865333333332,78.20710150000001,78.11182466666666,77.96461333333333,77.79138866666666,75.72154286666667,74.30121666666666,74.82083999999999,75.24088,75.37077666666666,75.49636,75.35777333333334,75.15859999999999,74.91609333333334,74.76454666666667,74.63029223333334,74.50471463333334,74.39645999999999,74.2102718,74.06304666666666,73.91580666666665,73.72960593333333,73.63000333333333,73.51743333333333,73.43082,73.31825333333335,73.13636666666666,72.98046360000001,72.85922666666666,72.65137333333332,72.48250666666667,72.29629533333333,72.14040393333333,71.99750666666667,71.88492836666667,71.72903066666667,71.58179806666666,71.43024666666666,71.25704273333334,71.07516333333332,70.97123536666666,70.78070333333334,70.65946666666667,70.50790333333333,70.37798819999999,70.27840333333334,70.15714773333333,70.01857373333333,69.92764333333334,69.91465,69.88867,69.82805713333333,69.74577613333334,69.67649333333333,69.58122379999999,69.48596143333333,69.37337666666667,69.2911016,69.21316333333334,69.08758,69.01396666666666,68.98365143333334,68.92735666666665,68.87106476666666,68.84508670000001,68.81044000000001,68.84075,68.89271333333333,68.97066000000001,68.97932333333333,68.94467333333334,68.88838493333334,68.88405859999999,68.82343513333332,68.70651813333335,68.5809332,68.60258483333332,68.60691666666668,68.59393333333334,68.2301916,67.31650666666667,66.67130393333333,66.13866816666666,65.7446164,65.39386706666666,65.09508333333333,64.79630333333334,64.44122126666666,64.19439256666666,64.27232996666667,65.0344619,65.66667333333334,66.0867187,66.34219183333333,66.480758,66.63665666666667,66.74491,66.82285816666666,66.24259666666667],\"pre_max\":[2.6586617944335984],\"pre_min\":[-5.7904892206054654],\"pre_ave\":[0.049737347943749455],\"pre_s\":[4.881696903414218],\"pre_s_ave\":4.881696903414218,\"limit\":0.2718421401094552,\"CleanOrNot\":true,\"BeforeCleanSamNum\":125,\"AfterCleanSamNum\":125}","type":"0,0,0","point":"JL_D1_10MILLA:SEP_TEMP.PNT,JL_D1_10FSSS20A:HFC10CT301.PNT,JL_D1_10FSSS20A:HFC10CT302.PNT","time":"2020-02-04 23:21:28,2020-02-05 23:21:28","interval":300000}' # info_str=r'{"model":"{\"filename\":{\"class_name\":\"Sequential\",\"config\":{\"name\":\"sequential\",\"layers\":[{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense\",\"trainable\":true,\"batch_input_shape\":[null,2],\"dtype\":\"float32\",\"units\":6,\"activation\":\"sigmoid\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}},{\"class_name\":\"Dense\",\"config\":{\"name\":\"dense_1\",\"trainable\":true,\"dtype\":\"float32\",\"units\":1,\"activation\":\"linear\",\"use_bias\":true,\"kernel_initializer\":{\"class_name\":\"GlorotUniform\",\"config\":{\"seed\":null,\"dtype\":\"float32\"}},\"bias_initializer\":{\"class_name\":\"Zeros\",\"config\":{\"dtype\":\"float32\"}},\"kernel_regularizer\":null,\"bias_regularizer\":null,\"activity_regularizer\":null,\"kernel_constraint\":null,\"bias_constraint\":null}}]},\"keras_version\":\"2.2.4-tf\",\"backend\":\"tensorflow\"},\"mms1\":{\"data_max_\":[82.97037,87.59508],\"data_min_\":[46.5572548,53.2085228],\"data_range_\":[36.4131152,34.3865572],\"min_\":[-1.2785847776078219,-1.5473640612093613],\"scale_\":[0.027462632474795783,0.029081131739469402]},\"mms2\":{\"data_max_\":[88.43947],\"data_min_\":[53.2085228],\"data_range_\":[35.2309472],\"min_\":[-1.5102779524474435],\"scale_\":[0.028384136092713393]},\"train_max\":[88.43947,82.97037,87.59508],\"train_min\":[53.2085228,46.5572548,53.2085228],\"train_ave\":[73.95152649122672,69.7637995632764,72.95635137818323],\"pre_max\":[2.1512201489257876],\"pre_min\":[-9.576423670019537],\"pre_ave\":[-0.11074971603245708],\"pre_s\":[4.083063363267552],\"pre_s_ave\":4.083063363267552,\"limit\":0.11627729309035165,\"CleanOrNot\":true,\"BeforeCleanSamNum\":1288,\"AfterCleanSamNum\":1288}","type":"1,0,0","point":"JL_D1_10MILLA:SEP_TEMP.PNT,JL_D1_10FSSS20A:HFC10CT301.PNT,JL_D1_10FSSS20A:HFC10CT302.PNT","time":"2020-01-18 22:16:49,2020-01-23 09:33:25","interval":300000}' # info = json.loads(info_str) # points = info['point'] @@ -263,4 +267,4 @@ if __name__ == "__main__": # print("aaa") info = {} result = main(info["mms1"], info["mms2"], np.array(info["testDataX"]), - np.array(info["testDataY"]), info["filename"], info["weight"]) \ No newline at end of file + np.array(info["testDataY"]), info["filename"], info["weight"]) diff --git a/ANN_Train_offline.py b/ANN_Train_offline.py index 14ea0ec..fca85e8 100644 --- a/ANN_Train_offline.py +++ b/ANN_Train_offline.py @@ -17,10 +17,9 @@ import pandas as pd import requests import tensorflow as tf from sklearn.preprocessing import MinMaxScaler -from tensorflow.keras import backend -from tensorflow.keras import layers -from tensorflow.keras.models import load_model -from tensorflow.keras.models import model_from_json +import keras +from keras import backend +from keras import layers os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" @@ -53,7 +52,7 @@ def get_history_value(points, time, interval, typedata): def rmse(y_true, y_pred): - return backend.sqrt(backend.mean(tf.keras.losses.mean_squared_error(y_true, y_pred), axis=-1)) + return backend.sqrt(backend.mean(keras.losses.mean_squared_error(y_true, y_pred), axis=-1)) def TrainOffline(x_data, y_data, hidden_layers, epochsdata): @@ -73,7 +72,7 @@ def TrainOffline(x_data, y_data, hidden_layers, epochsdata): x_train = x_normal y_train = y_normal # 构建网络结构 - model = tf.keras.Sequential() + model = keras.Sequential() model.add(layers.Dense(units=hidden_layers[0], input_dim=x_data.shape[1], activation="sigmoid")) for i in range(len(hidden_layers) - 1): model.add(layers.Dense(units=hidden_layers[i + 1], activation="sigmoid")) @@ -150,7 +149,7 @@ def Train(x_data, y_data, hidden_layers, valuetrs, epochsdata): x_train = x_normal y_train = y_normal # 构建网络结构 - model = tf.keras.Sequential() + model = keras.Sequential() model.add(layers.Dense(units=hidden_layers[0], input_dim=x_data.shape[1], activation="sigmoid")) for i in range(len(hidden_layers) - 1): model.add(layers.Dense(units=hidden_layers[i + 1], activation="sigmoid")) diff --git a/PCA_Test.py b/PCA_Test.py index 7428622..29ec88c 100644 --- a/PCA_Test.py +++ b/PCA_Test.py @@ -5,24 +5,10 @@ PCA source code @author: liudiwei """ -import xlsxwriter as xw import numpy as np -import pandas as pd -import matplotlib.pyplot as plt -from scipy.stats import norm -from scipy.stats.distributions import chi2 import json -import sys import pymssql import requests -import datetime -from scipy.stats import norm -from scipy.stats import f -from scipy.stats import chi2 -import jenkspy -import xlrd -import time -# import PCA_Test_offline import config diff --git a/PCA_Test_offline.py b/PCA_Test_offline.py index f64e6c5..77887fe 100644 --- a/PCA_Test_offline.py +++ b/PCA_Test_offline.py @@ -7,21 +7,11 @@ PCA source code————最新更新————————————— import numpy as np -import pandas as pd -from scipy.stats import norm -from scipy.stats.distributions import chi2 import json -import sys import pymssql import requests -import datetime -from scipy.stats import norm -from scipy.stats import f -from scipy.stats import chi2 import jenkspy -import xlrd import gc -import time import pyodbc from recon import Lars, recon_fault_diagnosis_r, recon_fault_diagnosis_r_l, recon_fault_diagnosis_r_c import config diff --git a/__pycache__/PCA_Test.cpython-310.pyc b/__pycache__/PCA_Test.cpython-310.pyc new file mode 100644 index 0000000..106d838 Binary files /dev/null and b/__pycache__/PCA_Test.cpython-310.pyc differ diff --git a/__pycache__/PCA_Test.cpython-39.pyc b/__pycache__/PCA_Test.cpython-39.pyc new file mode 100644 index 0000000..7e5e213 Binary files /dev/null and b/__pycache__/PCA_Test.cpython-39.pyc differ diff --git a/__pycache__/PCA_Test_offline.cpython-310.pyc b/__pycache__/PCA_Test_offline.cpython-310.pyc new file mode 100644 index 0000000..e1af822 Binary files /dev/null and b/__pycache__/PCA_Test_offline.cpython-310.pyc differ diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc new file mode 100644 index 0000000..582d1ea Binary files /dev/null and b/__pycache__/app.cpython-310.pyc differ diff --git a/__pycache__/app.cpython-39.pyc b/__pycache__/app.cpython-39.pyc new file mode 100644 index 0000000..42be58a Binary files /dev/null and b/__pycache__/app.cpython-39.pyc differ diff --git a/__pycache__/config.cpython-310.pyc b/__pycache__/config.cpython-310.pyc new file mode 100644 index 0000000..df8d4f2 Binary files /dev/null and b/__pycache__/config.cpython-310.pyc differ diff --git a/__pycache__/recon.cpython-310.pyc b/__pycache__/recon.cpython-310.pyc new file mode 100644 index 0000000..4d24c2f Binary files /dev/null and b/__pycache__/recon.cpython-310.pyc differ diff --git a/app.py b/app.py index 066f061..46cee0b 100644 --- a/app.py +++ b/app.py @@ -1,20 +1,12 @@ # -*- coding: utf-8 -*- -import datetime import json -import json -import sys import traceback import PCA_Test import PCA_Test_offline -import config -import jenkspy import numpy as np -import requests -import xlrd from flask import Flask from flask import request -from numba import jit app = Flask(__name__) diff --git a/requirements.txt b/requirements.txt index e3e7795..66dc901 100644 Binary files a/requirements.txt and b/requirements.txt differ