Last active
August 28, 2020 16:25
-
-
Save shayaf84/32001b0c9d6cb5e7a241d4e82e8645e8 to your computer and use it in GitHub Desktop.
Importing Data used for Project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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