Apr-15-2019, 03:10 PM
Here is the final code ...its not working ..please help
import numpy as np from keras.models import Sequential from keras.layers import Convolution2D from keras.layers import MaxPooling2D from keras.layers import Flatten from keras.layers import Dense from sklearn.metrics import confusion_matrix from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True # Initialising the CNN classifier = Sequential() # Step 1 - Convolution classifier.add(Convolution2D(32, 3, 3, input_shape = (32, 32, 3), activation = 'relu')) # Step 2 - Pooling classifier.add(MaxPooling2D(pool_size = (2, 2))) # Adding a second convolutional layer classifier.add(Convolution2D(32, 3, 3, activation = 'relu')) classifier.add(MaxPooling2D(pool_size = (2, 2))) classifier.add(Convolution2D(32, 3, 3, activation = 'relu')) classifier.add(MaxPooling2D(pool_size = (2, 2))) # Step 3 - Flattening classifier.add(Flatten()) # Step 4 - Full connection classifier.add(Dense(output_dim = 128, activation = 'relu')) classifier.add(Dense(output_dim = 10, activation = 'sigmoid')) # Compiling the CNN classifier.compile(optimizer = 'Adam', loss = 'binary_crossentropy', metrics = ['accuracy']) # Part 2 - Fitting the CNN to the images from keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator(rescale = 1./255, shear_range = 0.2, zoom_range = 0.4, horizontal_flip = True) test_datagen = ImageDataGenerator(rescale = 1./255) training_set = train_datagen.flow_from_directory('Dataset/train', target_size = (32,32), batch_size = 64, class_mode = 'categorical') print('Before Test Set') test_set = test_datagen.flow_from_directory('Dataset/test', target_size = (32,32), batch_size = 64, class_mode = 'categorical') classifier.fit_generator( training_set, steps_per_epoch=2, epochs=1, validation_data=test_set, validation_steps=20) print('After Epoch') #Confution Matrix and Classification Report Y_pred = classifier.predict_generator(test_set, 60000) y_pred = np.argmax(Y_pred, axis=1) print('Confusion Matrix') print(confusion_matrix(test_set.classes, y_pred)) print('Classification Report') target_names = ['Airplan','Car','Birds','Cats','Deer', 'Dogs','Frog', 'Horse','Ship','Truck'] print(classification_report(test_set.classes, y_pred, target_names=target_names))