Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- keras.models import Sequential
- from keras.layers import Conv2D
- from keras.layers import MaxPooling2D
- from keras.layers import Flatten
- from keras.layers import Dense
- from keras.layers import Dropout
- from keras.preprocessing.image import ImageDataGenerator
- model = Sequential()
- model.add(Conv2D(32, (3, 3), input_shape=(64, 64, 3), activation='relu'))
- model.add(MaxPooling2D(pool_size=(2, 2)))
- model.add(Conv2D(32, (3, 3), activation='relu'))
- model.add(Flatten())
- model.add(Dense(units=128, activation='sigmoid'))
- model.add(Dropout(0.25))
- model.add(Dense(units=2, activation='softmax'))
- model.compile(optimizer='adam', loss='categorical_crossentropy', 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)
- training_set = train_datagen.flow_from_directory('data',target_size=(64, 64), batch_size=100, class_mode='categorical')
- test_set = test_datagen.flow_from_directory('data',target_size=(64, 64), batch_size=32,class_mode='categorical')
- model.fit_generator(training_set, steps_per_epoch=100, epochs=3, validation_data=test_set, validation_steps=200)
- model.save("model.h5")
- `
- import sys
- import numpy as np
- from keras.models import load_model
- from keras.preprocessing import image
- model = load_model('model.h5')
- model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
- img = image.load_img(sys.argv[1],target_size=(64,64))
- x = image.img_to_array(img)
- x = np.expand_dims(x, axis=0)
- images = np.vstack([x])
- classes = model.predict_classes(images)
- print(classes,model.predict_proba(images))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement