history = model.fit(x=X_train, y=y_train, verbose=2, epochs=3, batch_size=32, validation_split=0.1, callbacks=[early_stopping, save_model]) digit_test = pd.read_csv(os.path.join(path, "test.csv")) digit_test.shape digit_test.info() X_test = digit_test.values.astype('float32') / 255.0 X_test = X_test.reshape(X_test.shape[0], 28, 28, 1) digit_test['Label'] = np.argmax(model.predict(X_test), axis=1) digit_test['ImageId'] = list(range(1, X_test.shape[0] + 1)) digit_test.to_csv(os.path.join(path, "submission.csv"), index=False, columns=['ImageId', 'Label']) index = digit_test[digit_test.Label == 5] print(index.head()) act = kutils.get_activations(model, X_test[23:24]) kutils.display_activations(act, directory=os.path.join(path, 'digit_activations'), save=True) kutils.display_heatmaps(act, X_test_images[0:1], directory=os.path.join(path, 'digit_heatmaps'), save=True)
validation_steps=nb_validation_samples // batch_size, callbacks=[save_weights, early_stopping]) kutils.plot_loss_accuracy(history) test_datagen = ImageDataGenerator(rescale=1. / 255) test_generator = test_datagen.flow_from_directory(test_dir, target_size=(img_width, img_height), batch_size=batch_size, class_mode=None, shuffle=False) tmp = next(test_generator) act = kutils.get_activations(model, tmp[0:1]) # with just one sample. kutils.display_activations(act, directory=os.path.join("D:/cats vs dogs", 'digit_activations'), save=True) kutils.display_heatmaps(act, tmp[0:1], directory=os.path.join("D:/cats vs dogs", 'digit_heatmaps'), save=True) #print(test_generator.filenames) probabilities = model.predict_generator(test_generator, nb_test_samples // batch_size) mapper = {}
#build model input = Input(shape=(X_train.shape[1], )) inner = Embedding(input_dim=vocab_size, output_dim=word_embed_size, input_length=seq_maxlen, weights=[emb_layer_weights], trainable=False)(input) lstm1 = LSTM(200, return_sequences=True)(inner) features = LSTM(100, return_sequences=False)(lstm1) model = Model(inputs=input, outputs=features) print(model.summary()) feature_vectors = model.predict(X_train) print(feature_vectors) #visualize sentence vectors kutils.viz_vectors(feature_vectors, data) kutils.viz_vectors_corr(feature_vectors, data) kutils.viz_vectors_lower_dim(feature_vectors, data) #visualize layer activations act = kutils.get_activations(model, X_train[0:1]) # with just one sample. kutils.display_activations(act, directory=os.path.join("G:/", 'digit_activations'), save=True) kutils.display_heatmaps(act, tmp[0:1], directory=os.path.join("G:/", 'digit_heatmaps'), save=True)
model.add(Flatten()) model.add(Dense(20, activation='relu')) model.add(Dense(10, activation='softmax')) model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy']) early_stopping = EarlyStopping(monitor='val_loss', patience=2, verbose=1, mode='auto') save_model = ModelCheckpoint(os.path.join(path, "model.h5"), monitor='val_loss', save_best_only=True) history = model.fit(x=X_train_images, y=y_train, verbose=2, epochs=3, batch_size=32, validation_split=0.1, callbacks=[early_stopping, save_model] ) print(model.summary()) print(model.get_weights()) print(history.history['acc'][-1]) print(history.history['val_acc'][-1]) kutils.plot_loss(history) digit_test = pd.read_csv(os.path.join(path,"test.csv")) digit_test.shape digit_test.info() X_test = digit_test.values.astype('float32')/255.0 X_test_images=X_test.reshape(X_test.shape[0],28,28,1) pred = model.predict_classes(X_test_images) submissions=pd.DataFrame({"ImageId": list(range(1,len(pred)+1)), "Label": pred}) submissions.to_csv(os.path.join(path, "submission2.csv"), index=False, header=True) act = kutils.get_activations(model, X_test_images[2:3]) # with just one sample. kutils.display_activations(act, directory=os.path.join(path, 'digit_activations'), save=True) kutils.display_heatmaps(act, X_test_images[2:3], directory=os.path.join(path, 'digit_heatmaps'), save=True)