In [3]:
import os
import numpy as np
import tools as im
from matplotlib import pyplot as plt
from skimage.transform import resize
%matplotlib inline
In [4]:
path=os.getcwd()+'/' # finds the path of the folder in which the notebook is
path_train=path+'images/train/'
path_test=path+'images/test/'
path_real=path+'images/real_world/'
We first define a function to prepare the datas in the format of keras (theano). The function also reduces the size of the imagesfrom 100X100 to 32X32.
In [5]:
def prep_datas(xset,xlabels):
X=list(xset)
for i in range(len(X)):
X[i]=resize(X[i],(32,32,1)) #reduce the size of the image from 100X100 to 32X32. Also flattens the color levels
X=np.reshape(X,(len(X),1,32,32)) # reshape the liste to have the form required by keras (theano), ie (1,32,32)
X=np.array(X) #transforms it into an array
Y = np.eye(2, dtype='uint8')[xlabels] # generates vectors, here of two elements as required by keras (number of classes)
return X,Y
We then load the training set and the test set and prepare them with the function prep_datas.
In [6]:
training_set, training_labels = im.load_images(path_train)
test_set, test_labels = im.load_images(path_test)
X_train,Y_train=prep_datas(training_set,training_labels)
X_test,Y_test=prep_datas(test_set,test_labels)
Image before/after compression
In [15]:
i=11
plt.subplot(1,2,1)
plt.imshow(training_set[i],cmap='gray')
plt.subplot(1,2,2)
plt.imshow(X_train[i][0],cmap='gray')
Out[15]:
<matplotlib.image.AxesImage at 0x114385c88>
Lenet neural network
In [18]:
# import the necessary packages
from keras.models import Sequential
from keras.layers.convolutional import Convolution2D
from keras.layers.convolutional import MaxPooling2D
from keras.layers.core import Activation
from keras.layers.core import Flatten
from keras.layers.core import Dense
from keras.optimizers import SGD
# this code comes from http://www.pyimagesearch.com/2016/08/01/lenet-convolutional-neural-network-in-python/
class LeNet:
@staticmethod
def build(width, height, depth, classes, weightsPath=None):
# initialize the model
model = Sequential()
# first set of CONV => RELU => POOL
model.add(Convolution2D(20, 5, 5, border_mode="same",input_shape=(depth, height, width)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
# second set of CONV => RELU => POOL
model.add(Convolution2D(50, 5, 5, border_mode="same"))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
# set of FC => RELU layers
model.add(Flatten())
model.add(Dense(500))
model.add(Activation("relu"))
# softmax classifier
model.add(Dense(classes))
model.add(Activation("softmax"))
# return the constructed network architecture
return model
Using Theano backend.
We build the neural network and fit it on the training set
In [19]:
model = LeNet.build(width=32, height=32, depth=1, classes=2)
opt = SGD(lr=0.01)#Sochastic gradient descent with learning rate 0.01
model.compile(loss="categorical_crossentropy", optimizer=opt,metrics=["accuracy"])
model.fit(X_train, Y_train, batch_size=10, nb_epoch=300,verbose=1)
Epoch 1/300
25/25 [==============================] - 0s - loss: 0.6774 - acc: 0.6400
Epoch 2/300
25/25 [==============================] - 0s - loss: 0.5405 - acc: 0.9200
Epoch 3/300
25/25 [==============================] - 0s - loss: 0.4367 - acc: 0.9200
Epoch 4/300
25/25 [==============================] - 0s - loss: 0.3663 - acc: 0.9200
Epoch 5/300
25/25 [==============================] - 0s - loss: 0.3214 - acc: 0.9200
Epoch 6/300
25/25 [==============================] - 0s - loss: 0.3057 - acc: 0.9200
Epoch 7/300
25/25 [==============================] - 0s - loss: 0.2955 - acc: 0.9200
Epoch 8/300
25/25 [==============================] - 0s - loss: 0.2910 - acc: 0.9200
Epoch 9/300
25/25 [==============================] - 0s - loss: 0.2796 - acc: 0.9200
Epoch 10/300
25/25 [==============================] - 0s - loss: 0.2775 - acc: 0.9200
Epoch 11/300
25/25 [==============================] - 0s - loss: 0.2801 - acc: 0.9200
Epoch 12/300
25/25 [==============================] - 0s - loss: 0.2751 - acc: 0.9200
Epoch 13/300
25/25 [==============================] - 0s - loss: 0.2806 - acc: 0.9200
Epoch 14/300
25/25 [==============================] - 0s - loss: 0.2720 - acc: 0.9200
Epoch 15/300
25/25 [==============================] - 0s - loss: 0.2740 - acc: 0.9200
Epoch 16/300
25/25 [==============================] - 0s - loss: 0.2687 - acc: 0.9200
Epoch 17/300
25/25 [==============================] - 0s - loss: 0.2752 - acc: 0.9200
Epoch 18/300
25/25 [==============================] - 0s - loss: 0.2707 - acc: 0.9200
Epoch 19/300
25/25 [==============================] - 0s - loss: 0.2701 - acc: 0.9200
Epoch 20/300
25/25 [==============================] - 0s - loss: 0.2686 - acc: 0.9200
Epoch 21/300
25/25 [==============================] - 0s - loss: 0.2645 - acc: 0.9200
Epoch 22/300
25/25 [==============================] - 0s - loss: 0.2693 - acc: 0.9200
Epoch 23/300
25/25 [==============================] - 0s - loss: 0.2634 - acc: 0.9200
Epoch 24/300
25/25 [==============================] - 0s - loss: 0.2735 - acc: 0.9200
Epoch 25/300
25/25 [==============================] - 0s - loss: 0.2695 - acc: 0.9200
Epoch 26/300
25/25 [==============================] - 0s - loss: 0.2639 - acc: 0.9200
Epoch 27/300
25/25 [==============================] - 0s - loss: 0.2560 - acc: 0.9200
Epoch 28/300
25/25 [==============================] - 0s - loss: 0.2558 - acc: 0.9200
Epoch 29/300
25/25 [==============================] - 0s - loss: 0.2551 - acc: 0.9200
Epoch 30/300
25/25 [==============================] - 0s - loss: 0.2635 - acc: 0.9200
Epoch 31/300
25/25 [==============================] - 0s - loss: 0.2536 - acc: 0.9200
Epoch 32/300
25/25 [==============================] - 0s - loss: 0.2678 - acc: 0.9200
Epoch 33/300
25/25 [==============================] - 0s - loss: 0.2572 - acc: 0.9200
Epoch 34/300
25/25 [==============================] - 0s - loss: 0.2518 - acc: 0.9200
Epoch 35/300
25/25 [==============================] - 0s - loss: 0.2563 - acc: 0.9200
Epoch 36/300
25/25 [==============================] - 0s - loss: 0.2549 - acc: 0.9200
Epoch 37/300
25/25 [==============================] - 0s - loss: 0.2496 - acc: 0.9200
Epoch 38/300
25/25 [==============================] - 0s - loss: 0.2505 - acc: 0.9200
Epoch 39/300
25/25 [==============================] - 0s - loss: 0.2438 - acc: 0.9200
Epoch 40/300
25/25 [==============================] - 0s - loss: 0.2436 - acc: 0.9200
Epoch 41/300
25/25 [==============================] - 0s - loss: 0.2450 - acc: 0.9200
Epoch 42/300
25/25 [==============================] - 0s - loss: 0.2438 - acc: 0.9200
Epoch 43/300
25/25 [==============================] - 0s - loss: 0.2397 - acc: 0.9200
Epoch 44/300
25/25 [==============================] - 0s - loss: 0.2381 - acc: 0.9200
Epoch 45/300
25/25 [==============================] - 0s - loss: 0.2371 - acc: 0.9200
Epoch 46/300
25/25 [==============================] - 0s - loss: 0.2364 - acc: 0.9200
Epoch 47/300
25/25 [==============================] - 0s - loss: 0.2443 - acc: 0.9200
Epoch 48/300
25/25 [==============================] - 0s - loss: 0.2355 - acc: 0.9200
Epoch 49/300
25/25 [==============================] - 0s - loss: 0.2345 - acc: 0.9200
Epoch 50/300
25/25 [==============================] - 0s - loss: 0.2352 - acc: 0.9200
Epoch 51/300
25/25 [==============================] - 0s - loss: 0.2366 - acc: 0.9200
Epoch 52/300
25/25 [==============================] - 0s - loss: 0.2383 - acc: 0.9200
Epoch 53/300
25/25 [==============================] - 0s - loss: 0.2359 - acc: 0.9200
Epoch 54/300
25/25 [==============================] - 0s - loss: 0.2354 - acc: 0.9200
Epoch 55/300
25/25 [==============================] - 0s - loss: 0.2248 - acc: 0.9200
Epoch 56/300
25/25 [==============================] - 0s - loss: 0.2281 - acc: 0.9200
Epoch 57/300
25/25 [==============================] - 0s - loss: 0.2261 - acc: 0.9200
Epoch 58/300
25/25 [==============================] - 0s - loss: 0.2285 - acc: 0.9200
Epoch 59/300
25/25 [==============================] - 0s - loss: 0.2187 - acc: 0.9200
Epoch 60/300
25/25 [==============================] - 0s - loss: 0.2176 - acc: 0.9200
Epoch 61/300
25/25 [==============================] - 0s - loss: 0.2174 - acc: 0.9200
Epoch 62/300
25/25 [==============================] - 0s - loss: 0.2183 - acc: 0.9200
Epoch 63/300
25/25 [==============================] - 0s - loss: 0.2126 - acc: 0.9200
Epoch 64/300
25/25 [==============================] - 0s - loss: 0.2202 - acc: 0.9200
Epoch 65/300
25/25 [==============================] - 0s - loss: 0.2156 - acc: 0.9200
Epoch 66/300
25/25 [==============================] - 0s - loss: 0.2185 - acc: 0.9200
Epoch 67/300
25/25 [==============================] - 0s - loss: 0.2112 - acc: 0.9200
Epoch 68/300
25/25 [==============================] - 0s - loss: 0.2104 - acc: 0.9200
Epoch 69/300
25/25 [==============================] - 0s - loss: 0.2123 - acc: 0.9200
Epoch 70/300
25/25 [==============================] - 0s - loss: 0.2053 - acc: 0.9200
Epoch 71/300
25/25 [==============================] - 0s - loss: 0.2116 - acc: 0.9200
Epoch 72/300
25/25 [==============================] - 0s - loss: 0.2104 - acc: 0.9200
Epoch 73/300
25/25 [==============================] - 0s - loss: 0.1968 - acc: 0.9200
Epoch 74/300
25/25 [==============================] - 0s - loss: 0.2067 - acc: 0.9200
Epoch 75/300
25/25 [==============================] - 0s - loss: 0.2120 - acc: 0.9200
Epoch 76/300
25/25 [==============================] - 0s - loss: 0.1937 - acc: 0.9200
Epoch 77/300
25/25 [==============================] - 0s - loss: 0.1935 - acc: 0.9200
Epoch 78/300
25/25 [==============================] - 0s - loss: 0.2028 - acc: 0.9200
Epoch 79/300
25/25 [==============================] - 0s - loss: 0.1920 - acc: 0.9200
Epoch 80/300
25/25 [==============================] - 0s - loss: 0.2003 - acc: 0.9200
Epoch 81/300
25/25 [==============================] - 0s - loss: 0.2059 - acc: 0.9200
Epoch 82/300
25/25 [==============================] - 0s - loss: 0.2092 - acc: 0.9200
Epoch 83/300
25/25 [==============================] - 0s - loss: 0.1807 - acc: 0.9200
Epoch 84/300
25/25 [==============================] - 0s - loss: 0.1790 - acc: 0.9200
Epoch 85/300
25/25 [==============================] - 0s - loss: 0.1997 - acc: 0.9200
Epoch 86/300
25/25 [==============================] - 0s - loss: 0.1935 - acc: 0.9600
Epoch 87/300
25/25 [==============================] - 0s - loss: 0.1755 - acc: 0.9200
Epoch 88/300
25/25 [==============================] - 0s - loss: 0.1903 - acc: 0.9200
Epoch 89/300
25/25 [==============================] - 0s - loss: 0.1976 - acc: 0.9600
Epoch 90/300
25/25 [==============================] - 0s - loss: 0.1697 - acc: 0.9600
Epoch 91/300
25/25 [==============================] - 0s - loss: 0.1711 - acc: 0.9600
Epoch 92/300
25/25 [==============================] - 0s - loss: 0.1718 - acc: 0.9600
Epoch 93/300
25/25 [==============================] - 0s - loss: 0.1810 - acc: 0.9200
Epoch 94/300
25/25 [==============================] - 0s - loss: 0.1689 - acc: 0.9200
Epoch 95/300
25/25 [==============================] - 0s - loss: 0.1834 - acc: 0.9600
Epoch 96/300
25/25 [==============================] - 0s - loss: 0.1635 - acc: 0.9600
Epoch 97/300
25/25 [==============================] - 0s - loss: 0.1568 - acc: 0.9600
Epoch 98/300
25/25 [==============================] - 0s - loss: 0.1754 - acc: 0.9200
Epoch 99/300
25/25 [==============================] - 0s - loss: 0.1578 - acc: 0.9600
Epoch 100/300
25/25 [==============================] - 0s - loss: 0.1565 - acc: 0.9600
Epoch 101/300
25/25 [==============================] - 0s - loss: 0.1567 - acc: 0.9600
Epoch 102/300
25/25 [==============================] - 0s - loss: 0.1578 - acc: 0.9600
Epoch 103/300
25/25 [==============================] - 0s - loss: 0.1480 - acc: 0.9600
Epoch 104/300
25/25 [==============================] - 0s - loss: 0.1582 - acc: 0.9600
Epoch 105/300
25/25 [==============================] - 0s - loss: 0.1497 - acc: 0.9600
Epoch 106/300
25/25 [==============================] - 0s - loss: 0.1610 - acc: 0.9600
Epoch 107/300
25/25 [==============================] - 0s - loss: 0.1537 - acc: 0.9600
Epoch 108/300
25/25 [==============================] - 0s - loss: 0.1771 - acc: 0.9600
Epoch 109/300
25/25 [==============================] - 0s - loss: 0.1912 - acc: 0.9600
Epoch 110/300
25/25 [==============================] - 0s - loss: 0.1431 - acc: 0.9600
Epoch 111/300
25/25 [==============================] - 0s - loss: 0.1517 - acc: 0.9600
Epoch 112/300
25/25 [==============================] - 0s - loss: 0.1402 - acc: 0.9600
Epoch 113/300
25/25 [==============================] - 0s - loss: 0.1395 - acc: 0.9600
Epoch 114/300
25/25 [==============================] - 0s - loss: 0.1330 - acc: 0.9600
Epoch 115/300
25/25 [==============================] - 0s - loss: 0.1495 - acc: 0.9600
Epoch 116/300
25/25 [==============================] - 0s - loss: 0.1364 - acc: 0.9600
Epoch 117/300
25/25 [==============================] - 0s - loss: 0.1370 - acc: 0.9600
Epoch 118/300
25/25 [==============================] - 0s - loss: 0.1341 - acc: 0.9600
Epoch 119/300
25/25 [==============================] - 0s - loss: 0.1240 - acc: 0.9600
Epoch 120/300
25/25 [==============================] - 0s - loss: 0.1484 - acc: 0.9600
Epoch 121/300
25/25 [==============================] - 0s - loss: 0.1373 - acc: 0.9600
Epoch 122/300
25/25 [==============================] - 0s - loss: 0.1326 - acc: 0.9600
Epoch 123/300
25/25 [==============================] - 0s - loss: 0.1411 - acc: 0.9600
Epoch 124/300
25/25 [==============================] - 0s - loss: 0.1332 - acc: 0.9600
Epoch 125/300
25/25 [==============================] - 0s - loss: 0.1326 - acc: 0.9600
Epoch 126/300
25/25 [==============================] - 0s - loss: 0.1519 - acc: 0.9600
Epoch 127/300
25/25 [==============================] - 0s - loss: 0.1311 - acc: 0.9600
Epoch 128/300
25/25 [==============================] - 0s - loss: 0.1346 - acc: 0.9600
Epoch 129/300
25/25 [==============================] - 0s - loss: 0.1172 - acc: 0.9600
Epoch 130/300
25/25 [==============================] - 0s - loss: 0.1353 - acc: 0.9600
Epoch 131/300
25/25 [==============================] - 0s - loss: 0.1682 - acc: 0.9200
Epoch 132/300
25/25 [==============================] - 0s - loss: 0.1144 - acc: 0.9600
Epoch 133/300
25/25 [==============================] - 0s - loss: 0.1239 - acc: 0.9600
Epoch 134/300
25/25 [==============================] - 0s - loss: 0.1175 - acc: 0.9600
Epoch 135/300
25/25 [==============================] - 0s - loss: 0.1323 - acc: 0.9600
Epoch 136/300
25/25 [==============================] - 0s - loss: 0.1195 - acc: 0.9600
Epoch 137/300
25/25 [==============================] - 0s - loss: 0.1192 - acc: 0.9600
Epoch 138/300
25/25 [==============================] - 0s - loss: 0.1131 - acc: 0.9600
Epoch 139/300
25/25 [==============================] - 0s - loss: 0.1203 - acc: 0.9600
Epoch 140/300
25/25 [==============================] - 0s - loss: 0.1133 - acc: 0.9600
Epoch 141/300
25/25 [==============================] - 0s - loss: 0.1303 - acc: 0.9600
Epoch 142/300
25/25 [==============================] - 0s - loss: 0.1072 - acc: 0.9600
Epoch 143/300
25/25 [==============================] - 0s - loss: 0.1101 - acc: 0.9600
Epoch 144/300
25/25 [==============================] - 0s - loss: 0.1126 - acc: 0.9600
Epoch 145/300
25/25 [==============================] - 0s - loss: 0.1124 - acc: 0.9600
Epoch 146/300
25/25 [==============================] - 0s - loss: 0.1097 - acc: 0.9600
Epoch 147/300
25/25 [==============================] - 0s - loss: 0.1019 - acc: 0.9600
Epoch 148/300
25/25 [==============================] - 0s - loss: 0.1159 - acc: 0.9600
Epoch 149/300
25/25 [==============================] - 0s - loss: 0.1038 - acc: 0.9600
Epoch 150/300
25/25 [==============================] - 0s - loss: 0.1092 - acc: 0.9600
Epoch 151/300
25/25 [==============================] - 0s - loss: 0.1151 - acc: 0.9600
Epoch 152/300
25/25 [==============================] - 0s - loss: 0.0972 - acc: 0.9600
Epoch 153/300
25/25 [==============================] - 0s - loss: 0.0998 - acc: 0.9600
Epoch 154/300
25/25 [==============================] - 0s - loss: 0.1036 - acc: 1.0000
Epoch 155/300
25/25 [==============================] - 0s - loss: 0.0990 - acc: 0.9600
Epoch 156/300
25/25 [==============================] - 0s - loss: 0.0970 - acc: 0.9600
Epoch 157/300
25/25 [==============================] - 0s - loss: 0.1242 - acc: 0.9600
Epoch 158/300
25/25 [==============================] - 0s - loss: 0.0970 - acc: 0.9600
Epoch 159/300
25/25 [==============================] - 0s - loss: 0.0926 - acc: 0.9600
Epoch 160/300
25/25 [==============================] - 0s - loss: 0.0864 - acc: 0.9600
Epoch 161/300
25/25 [==============================] - 0s - loss: 0.0972 - acc: 0.9600
Epoch 162/300
25/25 [==============================] - 0s - loss: 0.0991 - acc: 1.0000
Epoch 163/300
25/25 [==============================] - 0s - loss: 0.0905 - acc: 0.9600
Epoch 164/300
25/25 [==============================] - 0s - loss: 0.0864 - acc: 1.0000
Epoch 165/300
25/25 [==============================] - 0s - loss: 0.0941 - acc: 0.9600
Epoch 166/300
25/25 [==============================] - 0s - loss: 0.1287 - acc: 0.9600
Epoch 167/300
25/25 [==============================] - 0s - loss: 0.0856 - acc: 0.9600
Epoch 168/300
25/25 [==============================] - 0s - loss: 0.0896 - acc: 0.9600
Epoch 169/300
25/25 [==============================] - 0s - loss: 0.0866 - acc: 0.9600
Epoch 170/300
25/25 [==============================] - 0s - loss: 0.0840 - acc: 0.9600
Epoch 171/300
25/25 [==============================] - 0s - loss: 0.0857 - acc: 0.9600
Epoch 172/300
25/25 [==============================] - 0s - loss: 0.0882 - acc: 1.0000
Epoch 173/300
25/25 [==============================] - 0s - loss: 0.0820 - acc: 0.9600
Epoch 174/300
25/25 [==============================] - 0s - loss: 0.0991 - acc: 0.9600
Epoch 175/300
25/25 [==============================] - 0s - loss: 0.1039 - acc: 0.9600
Epoch 176/300
25/25 [==============================] - 0s - loss: 0.0773 - acc: 0.9600
Epoch 177/300
25/25 [==============================] - 0s - loss: 0.1006 - acc: 0.9600
Epoch 178/300
25/25 [==============================] - 0s - loss: 0.0797 - acc: 0.9600
Epoch 179/300
25/25 [==============================] - 0s - loss: 0.0764 - acc: 0.9600
Epoch 180/300
25/25 [==============================] - 0s - loss: 0.0765 - acc: 0.9600
Epoch 181/300
25/25 [==============================] - 0s - loss: 0.0720 - acc: 0.9600
Epoch 182/300
25/25 [==============================] - 0s - loss: 0.0791 - acc: 0.9600
Epoch 183/300
25/25 [==============================] - 0s - loss: 0.0856 - acc: 1.0000
Epoch 184/300
25/25 [==============================] - 0s - loss: 0.0722 - acc: 0.9600
Epoch 185/300
25/25 [==============================] - 0s - loss: 0.0657 - acc: 1.0000
Epoch 186/300
25/25 [==============================] - 0s - loss: 0.0685 - acc: 0.9600
Epoch 187/300
25/25 [==============================] - 0s - loss: 0.0657 - acc: 0.9600
Epoch 188/300
25/25 [==============================] - 0s - loss: 0.0655 - acc: 0.9600
Epoch 189/300
25/25 [==============================] - 0s - loss: 0.0698 - acc: 0.9600
Epoch 190/300
25/25 [==============================] - 0s - loss: 0.0886 - acc: 1.0000
Epoch 191/300
25/25 [==============================] - 0s - loss: 0.0617 - acc: 0.9600
Epoch 192/300
25/25 [==============================] - 0s - loss: 0.0636 - acc: 0.9600
Epoch 193/300
25/25 [==============================] - 0s - loss: 0.0675 - acc: 1.0000
Epoch 194/300
25/25 [==============================] - 0s - loss: 0.0627 - acc: 0.9600
Epoch 195/300
25/25 [==============================] - 0s - loss: 0.0577 - acc: 0.9600
Epoch 196/300
25/25 [==============================] - 0s - loss: 0.0641 - acc: 0.9600
Epoch 197/300
25/25 [==============================] - 0s - loss: 0.0603 - acc: 0.9600
Epoch 198/300
25/25 [==============================] - 0s - loss: 0.0523 - acc: 0.9600
Epoch 199/300
25/25 [==============================] - 0s - loss: 0.0532 - acc: 1.0000
Epoch 200/300
25/25 [==============================] - 0s - loss: 0.0613 - acc: 0.9600
Epoch 201/300
25/25 [==============================] - 0s - loss: 0.0625 - acc: 1.0000
Epoch 202/300
25/25 [==============================] - 0s - loss: 0.0636 - acc: 0.9600
Epoch 203/300
25/25 [==============================] - 0s - loss: 0.0507 - acc: 0.9600
Epoch 204/300
25/25 [==============================] - 0s - loss: 0.0533 - acc: 0.9600
Epoch 205/300
25/25 [==============================] - 0s - loss: 0.0728 - acc: 1.0000
Epoch 206/300
25/25 [==============================] - 0s - loss: 0.0451 - acc: 1.0000
Epoch 207/300
25/25 [==============================] - 0s - loss: 0.0441 - acc: 1.0000
Epoch 208/300
25/25 [==============================] - 0s - loss: 0.0500 - acc: 0.9600
Epoch 209/300
25/25 [==============================] - 0s - loss: 0.0707 - acc: 1.0000
Epoch 210/300
25/25 [==============================] - 0s - loss: 0.0597 - acc: 1.0000
Epoch 211/300
25/25 [==============================] - 0s - loss: 0.0436 - acc: 1.0000
Epoch 212/300
25/25 [==============================] - 0s - loss: 0.0460 - acc: 0.9600
Epoch 213/300
25/25 [==============================] - 0s - loss: 0.0426 - acc: 1.0000
Epoch 214/300
25/25 [==============================] - 0s - loss: 0.0417 - acc: 1.0000
Epoch 215/300
25/25 [==============================] - 0s - loss: 0.0425 - acc: 1.0000
Epoch 216/300
25/25 [==============================] - 0s - loss: 0.0443 - acc: 0.9600
Epoch 217/300
25/25 [==============================] - 0s - loss: 0.0418 - acc: 1.0000
Epoch 218/300
25/25 [==============================] - 0s - loss: 0.0460 - acc: 0.9600
Epoch 219/300
25/25 [==============================] - 0s - loss: 0.0414 - acc: 1.0000
Epoch 220/300
25/25 [==============================] - 0s - loss: 0.0394 - acc: 1.0000
Epoch 221/300
25/25 [==============================] - 0s - loss: 0.0405 - acc: 1.0000
Epoch 222/300
25/25 [==============================] - 0s - loss: 0.0364 - acc: 1.0000
Epoch 223/300
25/25 [==============================] - 0s - loss: 0.0388 - acc: 1.0000
Epoch 224/300
25/25 [==============================] - 0s - loss: 0.0506 - acc: 1.0000
Epoch 225/300
25/25 [==============================] - 0s - loss: 0.0487 - acc: 1.0000
Epoch 226/300
25/25 [==============================] - 0s - loss: 0.0313 - acc: 1.0000
Epoch 227/300
25/25 [==============================] - 0s - loss: 0.0377 - acc: 1.0000
Epoch 228/300
25/25 [==============================] - 0s - loss: 0.0355 - acc: 1.0000
Epoch 229/300
25/25 [==============================] - 0s - loss: 0.0311 - acc: 1.0000
Epoch 230/300
25/25 [==============================] - 0s - loss: 0.0337 - acc: 1.0000
Epoch 231/300
25/25 [==============================] - 0s - loss: 0.0306 - acc: 1.0000
Epoch 232/300
25/25 [==============================] - 0s - loss: 0.0350 - acc: 1.0000
Epoch 233/300
25/25 [==============================] - 0s - loss: 0.0397 - acc: 1.0000
Epoch 234/300
25/25 [==============================] - 0s - loss: 0.0392 - acc: 0.9600
Epoch 235/300
25/25 [==============================] - 0s - loss: 0.0340 - acc: 1.0000
Epoch 236/300
25/25 [==============================] - 0s - loss: 0.0287 - acc: 1.0000
Epoch 237/300
25/25 [==============================] - 0s - loss: 0.0316 - acc: 1.0000
Epoch 238/300
25/25 [==============================] - 0s - loss: 0.0254 - acc: 1.0000
Epoch 239/300
25/25 [==============================] - 0s - loss: 0.0268 - acc: 1.0000
Epoch 240/300
25/25 [==============================] - 0s - loss: 0.0267 - acc: 1.0000
Epoch 241/300
25/25 [==============================] - 0s - loss: 0.0281 - acc: 1.0000
Epoch 242/300
25/25 [==============================] - 0s - loss: 0.0262 - acc: 1.0000
Epoch 243/300
25/25 [==============================] - 0s - loss: 0.0246 - acc: 1.0000
Epoch 244/300
25/25 [==============================] - 0s - loss: 0.0247 - acc: 1.0000
Epoch 245/300
25/25 [==============================] - 0s - loss: 0.0268 - acc: 1.0000
Epoch 246/300
25/25 [==============================] - 0s - loss: 0.0363 - acc: 1.0000
Epoch 247/300
25/25 [==============================] - 0s - loss: 0.0242 - acc: 1.0000
Epoch 248/300
25/25 [==============================] - 0s - loss: 0.0294 - acc: 1.0000
Epoch 249/300
25/25 [==============================] - 0s - loss: 0.0374 - acc: 1.0000
Epoch 250/300
25/25 [==============================] - 0s - loss: 0.0233 - acc: 1.0000
Epoch 251/300
25/25 [==============================] - 0s - loss: 0.0227 - acc: 1.0000
Epoch 252/300
25/25 [==============================] - 0s - loss: 0.0247 - acc: 1.0000
Epoch 253/300
25/25 [==============================] - 0s - loss: 0.0204 - acc: 1.0000
Epoch 254/300
25/25 [==============================] - 0s - loss: 0.0209 - acc: 1.0000
Epoch 255/300
25/25 [==============================] - 0s - loss: 0.0205 - acc: 1.0000
Epoch 256/300
25/25 [==============================] - 0s - loss: 0.0211 - acc: 1.0000
Epoch 257/300
25/25 [==============================] - 0s - loss: 0.0219 - acc: 1.0000
Epoch 258/300
25/25 [==============================] - 0s - loss: 0.0226 - acc: 1.0000
Epoch 259/300
25/25 [==============================] - 0s - loss: 0.0212 - acc: 1.0000
Epoch 260/300
25/25 [==============================] - 0s - loss: 0.0209 - acc: 1.0000
Epoch 261/300
25/25 [==============================] - 0s - loss: 0.0189 - acc: 1.0000
Epoch 262/300
25/25 [==============================] - 0s - loss: 0.0200 - acc: 1.0000
Epoch 263/300
25/25 [==============================] - 0s - loss: 0.0197 - acc: 1.0000
Epoch 264/300
25/25 [==============================] - 0s - loss: 0.0188 - acc: 1.0000
Epoch 265/300
25/25 [==============================] - 0s - loss: 0.0205 - acc: 1.0000
Epoch 266/300
25/25 [==============================] - 0s - loss: 0.0182 - acc: 1.0000
Epoch 267/300
25/25 [==============================] - 0s - loss: 0.0191 - acc: 1.0000
Epoch 268/300
25/25 [==============================] - 0s - loss: 0.0186 - acc: 1.0000
Epoch 269/300
25/25 [==============================] - 0s - loss: 0.0189 - acc: 1.0000
Epoch 270/300
25/25 [==============================] - 0s - loss: 0.0184 - acc: 1.0000
Epoch 271/300
25/25 [==============================] - 0s - loss: 0.0182 - acc: 1.0000
Epoch 272/300
25/25 [==============================] - 0s - loss: 0.0160 - acc: 1.0000
Epoch 273/300
25/25 [==============================] - 0s - loss: 0.0169 - acc: 1.0000
Epoch 274/300
25/25 [==============================] - 0s - loss: 0.0155 - acc: 1.0000
Epoch 275/300
25/25 [==============================] - 0s - loss: 0.0174 - acc: 1.0000
Epoch 276/300
25/25 [==============================] - 0s - loss: 0.0179 - acc: 1.0000
Epoch 277/300
25/25 [==============================] - 0s - loss: 0.0179 - acc: 1.0000
Epoch 278/300
25/25 [==============================] - 0s - loss: 0.0194 - acc: 1.0000
Epoch 279/300
25/25 [==============================] - 0s - loss: 0.0161 - acc: 1.0000
Epoch 280/300
25/25 [==============================] - 0s - loss: 0.0150 - acc: 1.0000
Epoch 281/300
25/25 [==============================] - 0s - loss: 0.0153 - acc: 1.0000
Epoch 282/300
25/25 [==============================] - 0s - loss: 0.0145 - acc: 1.0000
Epoch 283/300
25/25 [==============================] - 0s - loss: 0.0158 - acc: 1.0000
Epoch 284/300
25/25 [==============================] - 0s - loss: 0.0163 - acc: 1.0000
Epoch 285/300
25/25 [==============================] - 0s - loss: 0.0148 - acc: 1.0000
Epoch 286/300
25/25 [==============================] - 0s - loss: 0.0168 - acc: 1.0000
Epoch 287/300
25/25 [==============================] - 0s - loss: 0.0143 - acc: 1.0000
Epoch 288/300
25/25 [==============================] - 0s - loss: 0.0129 - acc: 1.0000
Epoch 289/300
25/25 [==============================] - 0s - loss: 0.0134 - acc: 1.0000
Epoch 290/300
25/25 [==============================] - 0s - loss: 0.0141 - acc: 1.0000
Epoch 291/300
25/25 [==============================] - 0s - loss: 0.0133 - acc: 1.0000
Epoch 292/300
25/25 [==============================] - 0s - loss: 0.0128 - acc: 1.0000
Epoch 293/300
25/25 [==============================] - 0s - loss: 0.0124 - acc: 1.0000
Epoch 294/300
25/25 [==============================] - 0s - loss: 0.0121 - acc: 1.0000
Epoch 295/300
25/25 [==============================] - 0s - loss: 0.0130 - acc: 1.0000
Epoch 296/300
25/25 [==============================] - 0s - loss: 0.0137 - acc: 1.0000
Epoch 297/300
25/25 [==============================] - 0s - loss: 0.0123 - acc: 1.0000
Epoch 298/300
25/25 [==============================] - 0s - loss: 0.0129 - acc: 1.0000
Epoch 299/300
25/25 [==============================] - 0s - loss: 0.0125 - acc: 1.0000
Epoch 300/300
25/25 [==============================] - 0s - loss: 0.0131 - acc: 1.0000
Out[19]:
<keras.callbacks.History at 0x11919d1d0>
In [21]:
y_pred = model.predict_classes(X_test)
print(y_pred)
print(test_labels)
2/2 [==============================] - 0s
[1 0]
[1, 0, 0, 0, 0, 0]
We now compare with the real world images (with the deshear method)
In [74]:
real_world_set=[]
for i in np.arange(1,73):
filename=path+'images/real_world/'+str(i)+'.png'
real_world_set.append(im.deshear(filename))
fake_label=np.ones(len(real_world_set),dtype='int32')
X_real,Y_real=prep_datas(real_world_set,fake_label)
y_pred = model.predict_classes(X_real)
32/72 [============>.................] - ETA: 0s
with the labels of Peter
In [75]:
f=open(path+'images/real_world/labels.txt',"r")
lines=f.readlines()
result=[]
for x in lines:
result.append((x.split(' ')[1]).replace('\n',''))
f.close()
In [84]:
result=np.array([int(x) for x in result])
result[result>1]=1
plt.plot(y_pred,'o')
plt.plot(2*result,'o')
plt.ylim(-0.5,2.5);
Content source: peterwittek/qml-rg
Similar notebooks: