Skip to content

Instantly share code, notes, and snippets.

@shayaf84
Last active August 28, 2020 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shayaf84/32001b0c9d6cb5e7a241d4e82e8645e8 to your computer and use it in GitHub Desktop.
Save shayaf84/32001b0c9d6cb5e7a241d4e82e8645e8 to your computer and use it in GitHub Desktop.
Importing Data used for Project
%tensorflow_version 1.x
class pkg:
#### DOWNLOADING AND LOADING DATA
def get_metadata(metadata_path, which_splits = ['train', 'test']):
metadata = pd.read_csv(metadata_path)
keep_idx = metadata['split'].isin(which_splits)
return metadata[keep_idx]
def get_data_split(split_name, flatten, all_data, metadata, image_shape):
sub_df = metadata[metadata['split'].isin([split_name])]
index = sub_df['index'].values
labels = sub_df['class'].values
data = all_data[index,:]
if flatten:
data = data.reshape([-1, np.product(image_shape)])
return data, labels
def get_train_data(flatten, all_data, metadata, image_shape):
return get_data_split('train', flatten, all_data, metadata, image_shape)
def get_test_data(flatten, all_data, metadata, image_shape):
return get_data_split('test', flatten, all_data, metadata, image_shape)
def get_field_data(flatten, all_data, metadata, image_shape):
return get_data_split('field', flatten, all_data, metadata, image_shape)
import gdown
import zipfile
import os
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.neural_network import MLPClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from sklearn import model_selection
from collections import Counter
import keras
from keras.models import Sequential
from keras.layers import Activation, MaxPooling2D, Dropout, Flatten, Reshape, \
Dense, Conv2D, GlobalAveragePooling2D
import keras.optimizers as optimizers
from keras.callbacks import ModelCheckpoint
from keras.applications import VGG16
from imgaug import augmenters
# file variables
image_data_url = 'https://drive.google.com/uc?id=1DNEiLAWguswhiLXGyVKsgHIRm1xZggt_'
metadata_url = 'https://drive.google.com/uc?id=1MW3_FU6qc0qT_uG4bzxhtEHy4Jd6dCWb'
image_data_path = './image_data.npy'
metadata_path = './metadata.csv'
###
gdown.download(image_data_url, './image_data.npy', True)
gdown.download(metadata_url, './metadata.csv', True)
### pre-loading all data of interest
_all_data = np.load('image_data.npy')
_metadata = pkg.get_metadata(metadata_path, ['train','test','field'])
### preparing definitions
# downloading and loading data
get_data_split = pkg.get_data_split
get_metadata = lambda : pkg.get_metadata(metadata_path, ['train','test'])
get_train_data = lambda flatten = False : \
pkg.get_train_data(flatten = flatten, all_data =\
_all_data, metadata = _metadata, image_shape = image_shape)
get_test_data = lambda flatten = False :
pkg.get_test_data(flatten = flatten, all_data =\
_all_data, metadata = _metadata, image_shape = image_shape)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment