Commit 3714b09d authored by salukbawa's avatar salukbawa

update CNN model class with more diseases

parent 7760321d
# importing libraries
import keras, tensorflow
import numpy as np
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
import matplotlib.pyplot as plt
img_width, img_height = 350, 350
......@@ -39,6 +37,7 @@ 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(2))
model.add(Activation('softmax'))
......@@ -64,9 +63,27 @@ validation_generator = test_datagen.flow_from_directory(
target_size =(img_width, img_height),
batch_size = batch_size, class_mode ='sparse')
model.fit_generator(train_generator,
history = model.fit_generator(train_generator,
steps_per_epoch = nb_train_samples // batch_size,
epochs = epochs, validation_data = validation_generator,
validation_steps = nb_validation_samples // batch_size)
model.save_weights('model_saved.h5')
print(history.history)
# summarize history for accuracy
plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()
# summarize history for loss
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()
......@@ -9,9 +9,10 @@ from keras.layers import Dense, Dropout, Flatten
from keras.models import Sequential
print(tensorflow.__version__)
print(keras.__version__)
def predictImageClass(image):
K.clear_session()
tensorflow.reset_default_graph()
# tensorflow.reset_default_graph()
nb_train_samples = 112
nb_validation_samples = 20
......@@ -65,9 +66,12 @@ def predictImageClass(image):
pred = modelI.predict(img)
# pred = labels["label_names"][np.argmax(pred)]
print(pred)
y = ["Ring worms", "Sarcoptic & demodectic mange"]
y = ["Sarcoptic & demodectic mange", "Ring worms"]
print(np.argmax(pred))
print(y[np.argmax(pred)])
return y[np.argmax(pred)]
return {
"pred": y[np.argmax(pred)],
"accuracy": str(pred[0][np.argmax(pred)])
}
predictImageClass("data/test/Ringworm/Ringworm1.jpg")
\ No newline at end of file
# predictImageClass("data/test/Ringworm/Ringworm1.jpg")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment