Skip to content

Instantly share code, notes, and snippets.

@PallawiSinghal
Last active March 7, 2019 13:13
Show Gist options
  • Save PallawiSinghal/f1c9e7316fd8b9077a50878d2107f238 to your computer and use it in GitHub Desktop.
Save PallawiSinghal/f1c9e7316fd8b9077a50878d2107f238 to your computer and use it in GitHub Desktop.
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense
from keras import backend as K
no_train_img,no_validation_img = 1001,800
img_width, img_height = 150, 150
batch_size = 16
if K.image_data_format() == 'channels_first':
input_shape = (3, img_width, img_height)#theano
else:
input_shape = (img_width, img_height, 3)#tensorflow
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(150, 150,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss = 'binary_crossentropy',optimizer= 'rmsprop',metrics = ['accuracy'])
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'/DATA/TRAIN',
target_size=(150, 150),
batch_size=batch_size,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
'DATA/VALIDATION',
target_size=(150, 150),
batch_size=batch_size,
class_mode='binary')
classes = train_generator.class_indices
print ("classes------------------>>>>>>>",classes)
model.summary()
model.fit_generator(
train_generator,
steps_per_epoch= no_train_img // batch_size,
epochs=50,
validation_data= validation_generator,
validation_steps= no_validation_img // batch_size)
model.save_weights('huge_data_first_try.h5')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment