Skip to content

Commit 509f5ab

Browse files
committed
training and overall keras code complete
1 parent ffcaadd commit 509f5ab

File tree

343 files changed

+354
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

343 files changed

+354
-0
lines changed

CNN_deeplearning.py

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
from keras.preprocessing.image import ImageDataGenerator
2+
from keras.models import Sequential
3+
from keras.layers import Conv2D, MaxPooling2D
4+
from keras.layers import Activation, Dropout, Flatten, Dense
5+
from keras import backend as K
6+
import cv2
7+
import numpy as np
8+
9+
10+
# dimensions of our images.
11+
img_width, img_height = 150, 150
12+
13+
# Path of the trainng folder
14+
train_data_dir = 'data/train'
15+
# Path of the validation folder
16+
validation_data_dir = 'data/validation'
17+
# set it according to no of images in the train directory
18+
nb_train_samples = 210
19+
# set it according to no of images in the validation directory
20+
nb_validation_samples = 50
21+
epochs = 200
22+
batch_size = 10
23+
24+
if K.image_data_format() == 'channels_first':
25+
input_shape = (3, img_width, img_height)
26+
else:
27+
input_shape = (img_width, img_height, 3)
28+
# CNN model design
29+
model = Sequential()
30+
model.add(Conv2D(32, (3, 3), input_shape=input_shape))
31+
model.add(Activation('relu'))
32+
model.add(MaxPooling2D(pool_size=(2, 2)))
33+
34+
model.add(Conv2D(32, (3, 3)))
35+
model.add(Activation('relu'))
36+
model.add(MaxPooling2D(pool_size=(2, 2)))
37+
38+
model.add(Conv2D(64, (3, 3)))
39+
model.add(Activation('relu'))
40+
model.add(MaxPooling2D(pool_size=(2, 2)))
41+
42+
model.add(Flatten())
43+
model.add(Dense(64))
44+
model.add(Activation('relu'))
45+
model.add(Dropout(0.5))
46+
model.add(Dense(9, activation='softmax'))
47+
#model.add(Activation('sigmoid'))
48+
49+
model.compile(loss='categorical_crossentropy',
50+
optimizer='rmsprop',
51+
metrics=['accuracy'])
52+
53+
# this is the augmentation configuration we will use for training
54+
train_datagen = ImageDataGenerator(
55+
rescale=1. / 255,
56+
shear_range=0.2,
57+
zoom_range=0.2,
58+
horizontal_flip=True)
59+
60+
# this is the augmentation configuration we will use for testing:
61+
# only rescaling
62+
test_datagen = ImageDataGenerator(rescale=1. / 255)
63+
64+
train_generator = train_datagen.flow_from_directory(
65+
train_data_dir,
66+
target_size=(img_width, img_height),
67+
batch_size=batch_size,
68+
class_mode='categorical')
69+
70+
#print (class_indices)
71+
validation_generator = test_datagen.flow_from_directory(
72+
validation_data_dir,
73+
target_size=(img_width, img_height),
74+
batch_size=batch_size,
75+
class_mode='categorical')
76+
print (validation_generator.class_indices)
77+
model.fit_generator(
78+
train_generator,
79+
steps_per_epoch=nb_train_samples // batch_size,
80+
epochs=epochs,
81+
validation_data=validation_generator,
82+
validation_steps=nb_validation_samples // batch_size)
83+
84+
# Set the path of the image to be classified
85+
img = cv2.imread('map_12.jpg')
86+
img = cv2.resize(img,(150,150))
87+
img = np.reshape(img,[1,150,150,3])
88+
89+
90+
cla = model.predict_classes(img)
91+
print (cla[0])
92+
93+
94+
if(cla[0] == 1):
95+
print ('This image can be described as a bar chart which represents data with rectangular bars with heights proportional to the values that they represent.')
96+
elif(cla[0] == 2):
97+
print ('This image is a graph of a function. It has x and y axes with curves and lines depicting a function.')
98+
elif(cla[0] == 3):
99+
print ('This image has a geometrical figure.')
100+
elif(cla[0] == 4):
101+
print ('This image is a line graph in which information is displayed as a series of data points connected by straight line segments.')
102+
elif(cla[0] == 5):
103+
print ('This image is a mapping of function which shows the relations of inputs and output in form of ordered pair. ')
104+
elif(cla[0] == 6):
105+
print ('This image doesnot belong to any mathematical representation or figures.')
106+
elif(cla[0] == 7):
107+
print ('This image is a pie chart, a circle which is divided into sectors that each represent a proportion of the whole.')
108+
elif(cla[0] == 8):
109+
print ('This image is a graph with x and y axes where points are plotted and drawn.')
110+
elif(cla[0] == 0):
111+
print ('This image is a venn diagram in which logical sets represented as circles or closed curves within an enclosing rectangle,the universal set.')
112+
113+
model.save('model1.h5')

CNN_predict.py

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from keras.models import load_model
2+
import cv2
3+
import numpy as np
4+
5+
model = load_model('model1.h5')
6+
7+
model.compile(loss='categorical_crossentropy',
8+
optimizer='rmsprop',
9+
metrics=['accuracy'])
10+
11+
# Set the path of the image to be classified
12+
img = cv2.imread('graph_2.jpg')
13+
img = cv2.resize(img,(150,150))
14+
img = np.reshape(img,[1,150,150,3])
15+
16+
cla = model.predict_classes(img)
17+
print (cla[0])
18+
if(cla[0] == 1):
19+
print ('This image can be described as a bar chart which represents data with rectangular bars with heights proportional to the values that they represent.')
20+
elif(cla[0] == 2):
21+
print ('This image is a graph of a function. It has x and y axes with curves and lines depicting a function.')
22+
elif(cla[0] == 3):
23+
print ('This image has a geometrical figure.')
24+
elif(cla[0] == 4):
25+
print ('This image is a line graph in which information is displayed as a series of data points connected by straight line segments.')
26+
elif(cla[0] == 5):
27+
print ('This image is a mapping of function which shows the relations of inputs and output in form of ordered pair. ')
28+
elif(cla[0] == 6):
29+
print ('This image doesnot belong to any mathematical representation or figures.')
30+
elif(cla[0] == 7):
31+
print ('This image is a pie chart, a circle which is divided into sectors that each represent a proportion of the whole.')
32+
elif(cla[0] == 8):
33+
print ('This image is a graph with x and y axes where points are plotted and drawn.')
34+
elif(cla[0] == 0):
35+
print ('This image is a venn diagram in which logical sets represented as circles or closed curves within an enclosing rectangle,the universal set.')
36+
37+

DOCUMENTATION_IMAGE_ANALYSIS.docx

54.4 KB
Binary file not shown.

Venn_31.jpg

4.08 KB

Venn_32.jpg

4.39 KB

Venn_33.jpg

4.26 KB

Venn_34.jpg

12.4 KB

bar.jpg

27.5 KB

chart_6.jpg

37.7 KB

data/train/Venn diagram/Venn_1.jpg

8.85 KB

data/train/Venn diagram/Venn_10.jpg

5.87 KB

data/train/Venn diagram/Venn_11.jpg

5.85 KB

data/train/Venn diagram/Venn_12.jpg

6.04 KB

data/train/Venn diagram/Venn_13.jpg

5.37 KB

data/train/Venn diagram/Venn_14.jpg

5.28 KB

data/train/Venn diagram/Venn_15.jpg

5.65 KB

data/train/Venn diagram/Venn_16.jpg

5.4 KB

data/train/Venn diagram/Venn_17.jpg

4.91 KB

data/train/Venn diagram/Venn_18.jpg

5.65 KB

data/train/Venn diagram/Venn_19.jpg

5.51 KB

data/train/Venn diagram/Venn_2.jpg

4.26 KB

data/train/Venn diagram/Venn_20.jpg

5.36 KB

data/train/Venn diagram/Venn_21.jpg

5.8 KB

data/train/Venn diagram/Venn_22.jpg

5.83 KB

data/train/Venn diagram/Venn_23.jpg

5.66 KB

data/train/Venn diagram/Venn_24.jpg

6.1 KB

data/train/Venn diagram/Venn_25.jpg

4.4 KB

data/train/Venn diagram/Venn_26.jpg

4.54 KB

data/train/Venn diagram/Venn_27.jpg

4.31 KB

data/train/Venn diagram/Venn_28.jpg

4.02 KB

data/train/Venn diagram/Venn_29.jpg

4.48 KB

data/train/Venn diagram/Venn_3.jpg

5.12 KB

data/train/Venn diagram/Venn_30.jpg

4.13 KB

data/train/Venn diagram/Venn_4.jpg

6.76 KB

data/train/Venn diagram/Venn_5.jpg

7.67 KB

data/train/Venn diagram/Venn_6.jpg

7.74 KB

data/train/Venn diagram/Venn_7.jpg

9.52 KB

data/train/Venn diagram/Venn_8.jpg

8.04 KB

data/train/Venn diagram/Venn_9.jpg

5.97 KB

data/train/bar chart/bchart_1.jpg

14.9 KB

data/train/bar chart/bchart_10.jpg

11 KB

data/train/bar chart/bchart_11.jpeg

30.9 KB

data/train/bar chart/bchart_12.jpeg

13 KB

data/train/bar chart/bchart_13.jpeg

9.01 KB

data/train/bar chart/bchart_14.jpeg

48.7 KB

data/train/bar chart/bchart_15.jpeg

16.3 KB

data/train/bar chart/bchart_16.jpeg

6.84 KB

data/train/bar chart/bchart_17.jpg

56 KB

data/train/bar chart/bchart_18.jpeg

9.74 KB

data/train/bar chart/bchart_18.jpg

9.74 KB

data/train/bar chart/bchart_19.jpeg

8.73 KB

data/train/bar chart/bchart_2.jpg

4.68 KB

data/train/bar chart/bchart_20.jpeg

27.9 KB

data/train/bar chart/bchart_21.jpeg

24.1 KB

data/train/bar chart/bchart_22.jpeg

4.47 KB

data/train/bar chart/bchart_23.jpeg

35.4 KB

data/train/bar chart/bchart_24.jpeg

37.5 KB

data/train/bar chart/bchart_3.jpg

5.07 KB

data/train/bar chart/bchart_4.jpg

65.6 KB

data/train/bar chart/bchart_5.jpg

41.6 KB

data/train/bar chart/bchart_6.jpg

37.7 KB

data/train/bar chart/bchart_7.jpg

4.46 KB

data/train/bar chart/bchart_8.jpg

22.6 KB

data/train/bar chart/bchart_9.jpg

3.91 KB

data/train/function/graph_1.jpg

10.1 KB

data/train/function/graph_10.jpg

3.52 KB

data/train/function/graph_11.jpg

3.22 KB

data/train/function/graph_12.jpg

3.64 KB

data/train/function/graph_13.jpg

2.99 KB

data/train/function/graph_14.jpg

3.41 KB

data/train/function/graph_15.jpg

3.89 KB

data/train/function/graph_16.jpg

4.5 KB

data/train/function/graph_17.jpg

5.12 KB

data/train/function/graph_18.jpg

8.02 KB

data/train/function/graph_19.jpg

7.93 KB

data/train/function/graph_2.jpg

5.22 KB

data/train/function/graph_20.jpg

5.23 KB

data/train/function/graph_3.jpg

6.24 KB

data/train/function/graph_4.jpg

4.02 KB

data/train/function/graph_5.jpg

7.41 KB

data/train/function/graph_6.jpg

6.03 KB

data/train/function/graph_7.jpg

7.45 KB

data/train/function/graph_8.jpg

6.89 KB

data/train/function/graph_9.jpg

6.02 KB

data/train/geometry/geometry_1.jpg

1.44 KB

data/train/geometry/geometry_10.jpg

5.96 KB

data/train/geometry/geometry_11.jpg

5.56 KB

data/train/geometry/geometry_12.jpg

6.47 KB

data/train/geometry/geometry_13.jpg

5.5 KB

data/train/geometry/geometry_14.jpg

6.02 KB

data/train/geometry/geometry_15.jpg

7.28 KB

data/train/geometry/geometry_16.jpg

6.39 KB

data/train/geometry/geometry_17.jpg

8.31 KB

data/train/geometry/geometry_18.jpg

7.88 KB

data/train/geometry/geometry_19.jpg

5.94 KB

data/train/geometry/geometry_2.jpg

6.14 KB

data/train/geometry/geometry_20.jpg

8.54 KB

data/train/geometry/geometry_21.jpg

2.71 KB

data/train/geometry/geometry_22.jpg

7.38 KB

data/train/geometry/geometry_23.jpg

48.5 KB

data/train/geometry/geometry_24.jpg

9.86 KB

data/train/geometry/geometry_25.jpg

5.58 KB

data/train/geometry/geometry_26.jpg

9.35 KB

data/train/geometry/geometry_27.jpg

15.8 KB

data/train/geometry/geometry_28.jpg

9.82 KB

data/train/geometry/geometry_29.jpg

15.8 KB

data/train/geometry/geometry_3.jpg

7.66 KB

data/train/geometry/geometry_30.jpg

10.6 KB

data/train/geometry/geometry_4.jpg

6.66 KB

data/train/geometry/geometry_5.jpg

7.46 KB

data/train/geometry/geometry_6.jpg

7.37 KB

data/train/geometry/geometry_7.jpg

5.95 KB

data/train/geometry/geometry_8.jpg

6.91 KB

data/train/geometry/geometry_9.jpg

6.18 KB

data/train/line graph/lgraph_1.jpg

70.7 KB

data/train/line graph/lgraph_10.jpg

21.8 KB

data/train/line graph/lgraph_11.jpg

30.3 KB

data/train/line graph/lgraph_12.jpg

21.2 KB

data/train/line graph/lgraph_13.jpg

6.81 KB

data/train/line graph/lgraph_14.jpg

15.6 KB

data/train/line graph/lgraph_15.jpg

10.4 KB

data/train/line graph/lgraph_16.jpg

10.4 KB

data/train/line graph/lgraph_17.jpg

30.5 KB

data/train/line graph/lgraph_18.jpg

7.71 KB

data/train/line graph/lgraph_19.jpg

75.9 KB

data/train/line graph/lgraph_2.jpg

39 KB

data/train/line graph/lgraph_20.jpg

30.8 KB

data/train/line graph/lgraph_21.jpg

20.4 KB

data/train/line graph/lgraph_3.jpg

38.6 KB

data/train/line graph/lgraph_4.jpg

47.3 KB

data/train/line graph/lgraph_5.jpg

33.9 KB

data/train/line graph/lgraph_6.jpg

9.44 KB

data/train/line graph/lgraph_7.jpg

46.1 KB

data/train/line graph/lgraph_8.jpg

30.6 KB

data/train/line graph/lgraph_9.jpg

4.41 KB

data/train/map/map_1.jpg

5.43 KB

data/train/map/map_10.jpg

4.37 KB

data/train/map/map_2.jpg

5 KB

data/train/map/map_3.jpg

5.42 KB

data/train/map/map_4.jpg

5.4 KB

data/train/map/map_5.jpg

4.49 KB

data/train/map/map_6.jpg

5.36 KB

data/train/map/map_7.jpg

5.67 KB

data/train/map/map_8.jpg

3.86 KB

data/train/map/map_9.jpg

8.35 KB

data/train/miscellaneous/673736.jpg

2.04 MB

data/train/miscellaneous/746998.jpg

777 KB

data/train/miscellaneous/IMG_0798.JPG

113 KB

data/train/miscellaneous/IMG_2533.JPG

12.1 KB
359 KB
646 KB
211 KB

data/train/miscellaneous/eSyX1BD.jpg

101 KB
181 KB
547 KB
105 KB

data/train/miscellaneous/nitr_grp.jpg

223 KB

data/train/pie chart/pchart_1.jpg

56.9 KB

data/train/pie chart/pchart_10.jpg

28.6 KB

data/train/pie chart/pchart_11.jpg

7.35 KB

data/train/pie chart/pchart_12.jpg

41.8 KB

data/train/pie chart/pchart_13.jpg

31.4 KB

data/train/pie chart/pchart_14.jpg

56.9 KB

data/train/pie chart/pchart_15.jpg

174 KB

data/train/pie chart/pchart_16.jpg

26.6 KB

data/train/pie chart/pchart_17.jpg

76.7 KB

data/train/pie chart/pchart_18.jpg

50.6 KB

data/train/pie chart/pchart_19.jpg

108 KB

data/train/pie chart/pchart_2.jpg

27 KB

data/train/pie chart/pchart_20.jpg

14.6 KB

data/train/pie chart/pchart_21.jpg

92.7 KB

data/train/pie chart/pchart_22.jpg

42.3 KB

data/train/pie chart/pchart_23.jpg

168 KB

data/train/pie chart/pchart_24.jpg

33.1 KB

data/train/pie chart/pchart_25.jpg

25.7 KB

data/train/pie chart/pchart_3.jpg

165 KB

data/train/pie chart/pchart_4.jpg

125 KB

data/train/pie chart/pchart_5.jpg

13.2 KB

data/train/pie chart/pchart_6.jpg

197 KB

data/train/pie chart/pchart_7.jpg

17.2 KB

data/train/pie chart/pchart_8.jpg

24.9 KB

data/train/pie chart/pchart_9.jpg

138 KB

data/train/plot chart/plot_1.jpg

5.17 KB

data/train/plot chart/plot_10.jpg

16.8 KB

data/train/plot chart/plot_11.jpg

38.7 KB

data/train/plot chart/plot_12.jpg

23.3 KB

data/train/plot chart/plot_13.jpg

7.5 KB

data/train/plot chart/plot_14.jpg

32.3 KB

data/train/plot chart/plot_15.jpg

8.84 KB

data/train/plot chart/plot_16.jpg

98.8 KB

data/train/plot chart/plot_17.jpg

8.87 KB

data/train/plot chart/plot_18.jpg

25.5 KB

data/train/plot chart/plot_19.jpg

77.8 KB

data/train/plot chart/plot_2.jpg

2.04 KB

data/train/plot chart/plot_3.jpg

21.2 KB

data/train/plot chart/plot_4.jpg

9.59 KB

data/train/plot chart/plot_5.jpg

2.36 KB

data/train/plot chart/plot_6.jpg

7.9 KB

data/train/plot chart/plot_7.jpg

64.4 KB

data/train/plot chart/plot_8.jpg

26.3 KB

data/train/plot chart/plot_9.jpg

30.3 KB
8.85 KB
4.31 KB
4.26 KB
5.12 KB
6.76 KB
7.67 KB
7.74 KB
9.52 KB
8.04 KB
5.97 KB
14.9 KB
4.68 KB
5.07 KB
65.6 KB
41.6 KB

data/validation/function/graph_1.jpg

10.1 KB

data/validation/function/graph_2.jpg

5.22 KB

data/validation/function/graph_3.jpg

6.24 KB

data/validation/function/graph_4.jpg

4.02 KB

data/validation/function/graph_5.jpg

7.41 KB
1.44 KB
6.14 KB
7.66 KB
6.66 KB
7.46 KB
30.6 KB
4.41 KB
10.4 KB
30.5 KB
30.8 KB

data/validation/map/map_1.jpg

5.43 KB

data/validation/map/map_2.jpg

5 KB

data/validation/map/map_3.jpg

5.42 KB

data/validation/map/map_4.jpg

5.4 KB

data/validation/map/map_5.jpg

4.49 KB
777 KB
197 KB
41.8 KB
76.7 KB
50.6 KB
14.6 KB

data/validation/plot chart/plot_1.jpg

7.9 KB

data/validation/plot chart/plot_2.jpg

26.3 KB

data/validation/plot chart/plot_3.jpg

30.3 KB

data/validation/plot chart/plot_4.jpg

8.84 KB

data/validation/plot chart/plot_5.jpg

25.5 KB

extra/DSC_0358.JPG

14 MB

extra/DSC_0359.JPG

10.4 MB

extra/DSC_0375.JPG

11 MB

extra/Venn_11.jpg

4.13 KB

extra/Venn_12.jpg

12.4 KB

extra/big_1463354214_image.jpg

80.9 KB

extra/geometry_6.jpg

7.37 KB

extra/graph_6.jpg

6.03 KB

extra/map_6.jpg

5.36 KB

extra/miscellaneous/746998.jpg

777 KB

geometry_21.jpg

7.82 KB

geometry_26.jpg

9.35 KB

graph_2.jpg

5.22 KB

graph_21.jpg

6.89 KB

graph_4.jpg

4.02 KB

iuou.jpg

359 KB

map_11.jpg

10 KB

map_12.jpg

14.5 KB

misc.jpg

57.7 KB

misc1.jpg

204 KB

model.h5

9.29 MB
Binary file not shown.

model1.h5

9.29 MB
Binary file not shown.

pchart_1.jpg

197 KB

pchart_2.jpg

27 KB

plot_1.jpg

7.9 KB

resources/b1.png

12.9 KB

resources/b10.png

3.75 KB

0 commit comments

Comments
 (0)