Esempio n. 1
0
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)
Esempio n. 4
0
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)