Skip to content

Instantly share code, notes, and snippets.

View pmarcelino's full-sized avatar

Pedro Marcelino pmarcelino

View GitHub Profile
@pmarcelino
pmarcelino / sol_03_svm
Created October 22, 2018 15:56
SVM solution for the Dogs vs. Cats competition
# Build model
import sklearn
from sklearn.cross_validation import train_test_split
from sklearn.grid_search import GridSearchCV
from sklearn.svm import LinearSVC
X_train, y_train = svm_features.reshape(300,7*7*512), svm_labels
param = [{
"C": [0.01, 0.1, 1, 10, 100]
@pmarcelino
pmarcelino / svm_data_concatenation
Created October 22, 2018 15:55
Concatenation of data for the SVM classifier
# Concatenate training and validation sets
svm_features = np.concatenate((train_features, validation_features))
svm_labels = np.concatenate((train_labels, validation_labels))
@pmarcelino
pmarcelino / sol_02_global_average_pooling
Last active October 22, 2018 15:53
Global average pooling solution for Dogs vs. Cats
# Define model
from keras import models
from keras import layers
from keras import optimizers
epochs = 100
model = models.Sequential()
model.add(layers.GlobalAveragePooling2D(input_shape=(7,7,512)))
model.add(layers.Dense(1, activation='sigmoid'))
@pmarcelino
pmarcelino / sol_01_fullyConnected
Created October 22, 2018 04:23
Fully connected layers solution for Dogs vs. Cats
# Define model
from keras import models
from keras import layers
from keras import optimizers
epochs = 100
model = models.Sequential()
model.add(layers.Flatten(input_shape=(7,7,512)))
model.add(layers.Dense(256, activation='relu', input_dim=(7*7*512)))
@pmarcelino
pmarcelino / extract_features
Created October 14, 2018 12:19
Extract features from convolutional base on Dogs vs. Cats Kaggle competition
# Extract features
import os, shutil
from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(rescale=1./255)
batch_size = 32
def extract_features(directory, sample_count):
features = np.zeros(shape=(sample_count, 7, 7, 512)) # Must be equal to the output of the convolutional base
labels = np.zeros(shape=(sample_count))
@pmarcelino
pmarcelino / data_preparation
Last active October 14, 2018 12:17
Data preparation for Dogs vs. Cats
# Create smaller dataset for Dogs vs. Cats
import os, shutil
original_dataset_dir = '/Users/macbook/dogs_cats_dataset/train/'
base_dir = '/Users/macbook/book/dogs_cats/data'
if not os.path.exists(base_dir):
os.mkdir(base_dir)
# Create directories
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pmarcelino
pmarcelino / data_augmentation.ipynb
Last active September 6, 2018 15:28
Data Augmentation
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Missing Data"
]
},
{