#
# Loads model from saved file, then classifies data
#

# TensorFlow, keras, np
import tensorflow as tf
from tensorflow import keras
import numpy as np

# open file
f=open('test-data.txt','r')
d=[[int(x) for x in line.split()] for line in f]
f.close()

# copy to classes and data
classes=[]
data=[]

for a in range(0,len(d)):
  classes.append(d[a][0])
  row=[]
  for b in range(1,len(d[a])):
    row.append(d[a][b])
  data.append(row)

#print(classes)
#print(data)

# normalize each row of data
normdata=[]
for a in range(0,len(data)):
  norm=[]
  s=min(data[a])
  t=max(data[a])
  for b in range(0,len(data[a])):
    norm.append((float(data[a][b])-float(s))/(float(t)-float(s)))
  normdata.append(norm)

#print(normdata)

classes=np.array(classes)
data=np.array(normdata)

print("data has shape", data.shape)
print("classes has shape ", classes.shape)

model=keras.models.load_model('simslope.keras')
model.summary()

print("Testing")
test_loss, test_acc = model.evaluate(data, classes)
print('Test accuracy:', test_acc)

w=model.get_weights()
print(w)


