import time from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Activation, BatchNormalization from keras.regularizers import l2 from cnn.load_data_std import get_data x_train, y_train = get_data(True, '../train.csv') model = Sequential() model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', input_shape=(28, 28, 1), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) # model.add(Conv2D(filters=36, # kernel_size=(3, 3), # padding='same', # activation='relu')) # model.add(MaxPooling2D(pool_size=(2, 2)))
from cnn.load_data_std import get_data from keras.models import load_model import matplotlib.pyplot as plt import numpy as np import itertools from sklearn.metrics import confusion_matrix X_validation, y_validation = get_data(False) model = load_model('cnn_train2_model.h5') def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap=plt.cm.Blues): """ This function prints and plots the confusion matrix. Normalization can be applied by setting `normalize=True`. """ plt.imshow(cm, interpolation='nearest', cmap=cmap) plt.title(title) plt.colorbar() tick_marks = np.arange(len(classes)) plt.xticks(tick_marks, classes, rotation=45) plt.yticks(tick_marks, classes) if normalize: cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
from cnn.load_data_std import get_data from keras.models import load_model x_test, y_test = get_data(False) model = load_model('cnn_train2_model.h5') # model = load_model('cnn_train_model.h5') scores = model.evaluate(x_test, y_test) print('CNN, test score: ', scores[1]) with open('cnn_predict_info.txt', 'w') as file: file.write('test accuracy = {}\n'.format(scores[1]))
import time from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Activation, BatchNormalization from keras.regularizers import l2 from cnn.load_data_std import get_data from keras.callbacks import EarlyStopping, ReduceLROnPlateau import matplotlib.pyplot as plt x_train, y_train = get_data(True) print('x_train.shape: ', x_train.shape) print('y_train.shape: ', y_train.shape) model = Sequential() model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', input_shape=(28, 28, 1), activation='relu')) # model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) # model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=36, kernel_size=(3, 3),
import time from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Activation, BatchNormalization from keras.regularizers import l2 from cnn.load_data_std import get_data from keras.callbacks import EarlyStopping, ReduceLROnPlateau import matplotlib.pyplot as plt from keras.preprocessing.image import ImageDataGenerator x_train, y_train = get_data(True) print('x_train.shape: ', x_train.shape) print('y_train.shape: ', y_train.shape) model = Sequential() model.add( Conv2D(filters=36, kernel_size=(3, 3), padding='same', input_shape=(28, 28, 1), activation='relu')) # model.add(MaxPooling2D(pool_size=(2, 2))) model.add( Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add( Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) # model.add(MaxPooling2D(pool_size=(2, 2))) model.add( Conv2D(filters=36, kernel_size=(3, 3), padding='same', activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25))