Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. from keras.preprocessing.image import ImageDataGenerator
  2. from keras.models import Sequential
  3. from keras.datasets import mnist
  4. from keras.layers import Activation, Dropout, Flatten, Dense
  5. from keras.layers import Conv2D, MaxPooling2D
  6. from keras import backend as K
  7. import keras
  8. import numpy
  9. import os
  10.  
  11. save_dir = os.path.join(os.getcwd(), 'catsvsdogs_saved')
  12.  
  13. train_folder = 'train'
  14. test_folder = 'test'
  15. img_w, img_h = 150,150
  16. input_shape = (img_w, img_h, 3)
  17. epochs = 15
  18. batch_size = 20
  19. train_samples = 24800
  20. test_samples = 200
  21.  
  22. model = Sequential()
  23.  
  24. model.add(Conv2D(32, (3,3), input_shape=input_shape))
  25. model.add(Activation('relu'))
  26. model.add(MaxPooling2D(pool_size=(2,2)))
  27.  
  28. model.add(Conv2D(32, (3,3)))
  29. model.add(Activation('relu'))
  30. model.add(MaxPooling2D(pool_size=(2,2)))
  31.  
  32. model.add(Conv2D(64, (3,3)))
  33. model.add(Activation('relu'))
  34. model.add(MaxPooling2D(pool_size=(2,2)))
  35.  
  36. model.add(Flatten())
  37. model.add(Dense(64))
  38. model.add(Activation('relu'))
  39. model.add(Dropout(0.5))
  40.  
  41. model.add(Dense(1))
  42. model.add(Activation('sigmoid'))
  43.  
  44. model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
  45.  
  46. img_gen = ImageDataGenerator(rescale=1./255)
  47. train_gen = img_gen.flow_from_directory(train_folder, target_size=(img_w,img_h),
  48.     batch_size=batch_size, class_mode='binary')
  49. test_gen = img_gen.flow_from_directory(test_folder, target_size=(img_w,img_h),
  50.     batch_size=batch_size, class_mode='binary')
  51.  
  52. model.fit_generator(train_gen, steps_per_epoch=train_samples//batch_size,epochs=epochs,
  53.     validation_data=test_gen)
  54.  
  55. if not os.path.isdir(save_dir):
  56.     os.makedirs(save_dir)
  57.  
  58. model_path = os.path.join(save_dir, 'cvd')
  59. model.save(model_path)
  60. print('Saved trained model at %s ' % model_path)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement