|
@ -5,21 +5,23 @@ |
|
|
@File : ANN_test.py |
|
|
@File : ANN_test.py |
|
|
@Software: PyCharm |
|
|
@Software: PyCharm |
|
|
""" |
|
|
""" |
|
|
|
|
|
import json |
|
|
import os |
|
|
import os |
|
|
import time |
|
|
import time |
|
|
import json |
|
|
|
|
|
import requests |
|
|
import keras |
|
|
import numpy as np |
|
|
import numpy as np |
|
|
|
|
|
import requests |
|
|
import tensorflow as tf |
|
|
import tensorflow as tf |
|
|
from tensorflow.keras import backend |
|
|
from keras import backend |
|
|
import PCA_Test_offline |
|
|
from keras.models import model_from_json |
|
|
from sklearn.preprocessing import MinMaxScaler |
|
|
from sklearn.preprocessing import MinMaxScaler |
|
|
from tensorflow.keras.models import load_model |
|
|
|
|
|
from tensorflow.keras.models import model_from_json |
|
|
|
|
|
import config |
|
|
import config |
|
|
|
|
|
|
|
|
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" |
|
|
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_history_value(points, time1, interval, typedata): |
|
|
def get_history_value(points, time1, interval, typedata): |
|
|
url = f"http://{config._EXA_IP}:9000/exawebapi/exatime/GetSamplingValueArrayFloat" |
|
|
url = f"http://{config._EXA_IP}:9000/exawebapi/exatime/GetSamplingValueArrayFloat" |
|
|
headers = {"Content-Type": "application/json;charset=utf-8"} # ,"token":get_token() |
|
|
headers = {"Content-Type": "application/json;charset=utf-8"} # ,"token":get_token() |
|
@ -47,7 +49,7 @@ def get_history_value(points,time1,interval,typedata): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def rmse(y_true, y_pred): |
|
|
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): |
|
|
def main(mms1, mms2, x_data, origndata, filepath, weight): |
|
@ -84,7 +86,7 @@ def main(mms1,mms2,x_data,origndata,filepath,weight): |
|
|
y_normal = mms_y.transform(origndata) |
|
|
y_normal = mms_y.transform(origndata) |
|
|
with tf.compat.v1.Session(): |
|
|
with tf.compat.v1.Session(): |
|
|
spe = rmse(predict_data, y_normal).eval() |
|
|
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) |
|
|
y_data = mms_y.inverse_transform(predict_data) |
|
|
# return y_data |
|
|
# return y_data |
|
|
result = {} |
|
|
result = {} |
|
@ -142,6 +144,7 @@ def test_offline_main(mms1,mms2,x_data,output_data, filepath,weight): |
|
|
result["FAI"] = [spe] |
|
|
result["FAI"] = [spe] |
|
|
return result |
|
|
return result |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def isnumber(limits): |
|
|
def isnumber(limits): |
|
|
flag = True |
|
|
flag = True |
|
|
for item in limits: |
|
|
for item in limits: |
|
@ -151,6 +154,7 @@ def isnumber(limits): |
|
|
break |
|
|
break |
|
|
return flag |
|
|
return flag |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def clean_main(info): |
|
|
def clean_main(info): |
|
|
try: |
|
|
try: |
|
|
datatype = info['type'] |
|
|
datatype = info['type'] |
|
|