-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_ml.py
63 lines (43 loc) · 1.54 KB
/
test_ml.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import numpy as np
from PIL import Image
from tensorflow import keras
def softmax( x, ax=1 ):
m = np.max( x, axis=ax, keepdims=True )#max per row
p = np.exp( x - m )
return ( p / np.sum(p,axis=ax,keepdims=True) )
def ml_softmax_test(title):
W1 = np.load('W1.npy')
W2 = np.load('W2.npy')
im = Image.open(title)
pixels = list(im.getdata())
newPixels = [1-pixels[x][0]/255.0 for x in range(len(pixels)) ]
newPixels.append(1.0)
Z = np.cos(np.dot(newPixels, W1.T))
W2= W2[:,1:]
ytest = softmax( Z.dot(W2.T),0 )
ttest = np.argmax(ytest, 0)
return ttest,ytest
def cnn_test(title):
mdl = keras.models.load_model('new_model')
im = Image.open(title)
pixels = list(im.getdata())
newPixels =np.array([1-pixels[x][0]/255.0 for x in range(len(pixels)) ])
newPixels = newPixels.reshape(1,28, 28)
pred = mdl.predict([newPixels])
# results=""
# for index in range(len(pred[0])):
# results+=(str(index)+"="+str(pred[0][index])+"\n")
# print(results)
return np.argmax(pred[0]),pred[0]
def cnn_new_test(title):
mdl = keras.models.load_model('conv2d_model')
im = Image.open(title)
pixels = list(im.getdata())
newPixels =np.array([1-pixels[x][0]/255.0 for x in range(len(pixels)) ])
newPixels = newPixels.reshape(1,28, 28)
pred = mdl.predict([newPixels])
# results=""
# for index in range(len(pred[0])):
# results+=(str(index)+"="+str(pred[0][index])+"\n")
# print(results)
return np.argmax(pred[0]),pred[0]