In [1]:
from __future__ import print_function
import matplotlib.pyplot as plt
import numpy as np
import os
import sys
import zipfile
from IPython.display import display, Image
from scipy import ndimage
from sklearn.linear_model import LogisticRegression
from six.moves.urllib.request import urlretrieve
from six.moves import cPickle as pickle
from skimage import color, io
from scipy.misc import imresize
np.random.seed(133)
# Config the matplotlib backend as plotting inline in IPython
%matplotlib inline
In [2]:
from six.moves import cPickle as pickle
pickle_file = 'catfish.pickle'
try:
with open(pickle_file) as f:
save=pickle.load(f)
except Exception as e:
print('Unable to load data from', pickle_file, ':', e)
raise
train_images_sane=save['train_images_sane']
train_images=save['train_images']
insane_indices=save['insane_indices']
test_images=save['test_images']
In [3]:
IMAGE_SIZE = 227 #22
def read_image(filepath):
img = io.imread(filepath)
new_img = np.array(imresize(img, (IMAGE_SIZE, IMAGE_SIZE), interp='bicubic'))
return new_img
X_train = np.array([read_image(train_images_sane[i]) for i in xrange(len(train_images_sane))])
Y_train = np.array([int('dog' in train_images_sane[i]) for i in xrange(len(train_images_sane))])
X_train = X_train.astype('float32')
#X_train /= 255
np.save('catfish-X_train.npy',X_train)
np.save('catfish-Y_train.npy',Y_train)
X_train=''
Y_train=''
import gc
gc.collect()
In [4]:
X_hard = np.array([read_image(train_images[i]) for i in insane_indices])
Y_hard = np.array([int('dog' in train_images[i]) for i in insane_indices])
X_hard = X_hard.astype('float32')
#X_verify /= 255
np.save('catfish-X_hard.npy',X_hard)
np.save('catfish-Y_hard.npy',Y_hard)
X_hard=''
Y_hard=''
In [ ]:
gc.collect()
X_test = np.array([read_image(test_images[i]) for i in xrange(len(test_images))])
X_test = X_test.astype('float32')
np.save('catfish-X_test.npy',X_test)
np.save('catfish-Y_test.npy',Y_test)
In [ ]:
pickle_file = 'catfish-X_verify.pickle'
try:
f = open(pickle_file, 'wb')
pickle.dump(X_verify, f, pickle.HIGHEST_PROTOCOL)
f.close()
except Exception as e:
print('Unable to save data to', pickle_file, ':', e)
raise
statinfo = os.stat(pickle_file)
print('Compressed pickle size:', statinfo.st_size)
In [ ]:
In [ ]:
#X_train=np.load('catfish-X_train.npy')
In [ ]:
plt.imshow(X_train[270])
plt.show()
In [ ]: