-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfile1_train.py
48 lines (39 loc) · 1.69 KB
/
file1_train.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
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 11 23:22:56 2020
@author: aakan
"""
import numpy as np
import tensorflow as tf
import pandas as pd
from tensorflow import keras
from keras.layers import Conv2D, MaxPooling2D, Dense, Activation, Flatten
from keras.models import Sequential
model = Sequential([
Conv2D(32,(3,3),input_shape=(64,64,3)),
Activation('relu'),
MaxPooling2D(2,2),
Conv2D(32,(3,3)),
Activation('relu'),
MaxPooling2D(2,2),
Flatten(),
Dense(units=128),
Activation('relu'),
Dense(units=3),
Activation('sigmoid')
])
model.compile(optimizer='adam',loss = 'categorical_crossentropy', metrics = ['accuracy'])
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1./255)
test_datagen = ImageDataGenerator(rescale = 1./255)
training_set = train_datagen.flow_from_directory(r'C:\Users\aakan\OneDrive\Documents\PROJECTS\CC Assignment\new_train',target_size = (64,64),batch_size = 10,class_mode = 'categorical')
test_set = test_datagen.flow_from_directory(r'C:\Users\aakan\OneDrive\Documents\PROJECTS\CC Assignment\new_test',target_size = (64,64),batch_size = 10,class_mode = 'categorical')
#model.summary()
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
history = model.fit_generator(training_set,validation_data = test_set,nb_val_samples = 50)
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
print('acc:',sum(acc)/len(acc)*100,'%')
print('val_acc:',sum(val_acc)/len(val_acc)*100,'%')
model.save("model.h5")