own_data_cnn_implementation_keras icon indicating copy to clipboard operation
own_data_cnn_implementation_keras copied to clipboard

How to give a separate test folder for testing?

Open wasifkhanniaz opened this issue 8 years ago • 0 comments

Kindly explain your answer. I did this but I am not sure if it's correct.

PATH = os.getcwd()
# Define data path
data_path2 =  r'C:\Users\Admin\test'
data_dir_list_t = os.listdir(data_path2)

img_rows=64
img_cols=64
num_channel=3
num_epoch= 40

# Define the number of classes
num_classes = 2

img_data_list_t=[]

for dataset in data_dir_list_t:
	img_list_t=os.listdir(data_path2 +'/'+ dataset)
	print ('Loaded the images of dataset-'+'{}\n'.format(dataset))
	for img in img_list_t:
		input_img_t=cv2.imread(data_path2 + '/'+ dataset + '/'+ img )
		#input_img=cv2.cvtColor(input_img, cv2.COLOR_BGR2GRAY)
		input_img_t_resize=cv2.resize(input_img,(64,64))
		img_data_list_t.append(input_img_t_resize)

img_data1 = np.array(img_data_list_t)
img_data1 = img_data1.astype('float32')
img_data1 /= 255
print (img_data1.shape)

if num_channel==1:
	if K.image_dim_ordering()=='th':
		img_data1= np.expand_dims(img_data1, axis=1) 
		print (img_data1.shape)
	else:
		img_data1= np.expand_dims(img_data1, axis=4) 
		print (img_data1.shape)
		
else:
	if K.image_dim_ordering()=='th':
		img_data1=np.rollaxis(img_data1,3,1)
		print (img_data1.shape)
		
#%%
USE_SKLEARN_PREPROCESSING=False

if USE_SKLEARN_PREPROCESSING:
	# using sklearn for preprocessing
	from sklearn import preprocessing
	
	def image_to_feature_vector_t(image, size=(64,64)):
		# resize the image to a fixed size, then flatten the image into
		# a list of raw pixel intensities
		return cv2.resize(image, size).flatten()
	
	img_data_list_t=[]
	for dataset in data_dir_list:
		img_list_t=os.listdir(data_path2 +'/'+ dataset)
		print ('Loaded the images of dataset-'+'{}\n'.format(dataset))
		for img in img_list_t:
			input_img=cv2.imread(data_path2 + '/'+ dataset + '/'+ img )
			#input_img=cv2.cvtColor(input_img, cv2.COLOR_BGR2GRAY)
			input_img_flatten=image_to_feature_vector_t(input_img,(64,64))
			img_data_list_t.append(input_img_flatten)
	
	img_data1 = np.array(img_data_list_t)
	img_data1 = img_data1.astype('float32')
	print (img_data1.shape)
	img_data1_scaled = preprocessing.scale(img_data1)
	print (img_data1_scaled.shape)
	
	print (np.mean(img_data1_scaled))
	print (np.std(img_data1_scaled))
	
	print (img_data1_scaled.mean(axis=0))
	print (img_data1_scaled.std(axis=0))
	
	if K.image_dim_ordering()=='th':
		img_data1_scaled=img_data1_scaled.reshape(img_data1.shape[0],num_channel,img_rows,img_cols)
		print (img_data1_scaled.shape)
		
	else:
		img_data1_scaled=img_data1_scaled.reshape(img_data1.shape[0],img_rows,img_cols,num_channel)
		print (img_data1_scaled.shape)
	
	
	if K.image_dim_ordering()=='th':
		img_data1_scaled=img_data1_scaled.reshape(img_data1.shape[0],num_channel,img_rows,img_cols)
		print (img_data1_scaled.shape)
		
	else:
		img_data1_scaled=img_data1_scaled.reshape(img_data1.shape[0],img_rows,img_cols,num_channel)
		print (img_data1_scaled.shape)

if USE_SKLEARN_PREPROCESSING:
	img_data1=img_data1_scaled
#%%
# Assigning Labels

# Define the number of classes
num_classes_t = 2

num_of_samples = img_data1.shape[0]
labels_t = np.ones((num_of_samples,),dtype='int64')

labels_t[0:40]=0
labels_t[40:]=1
#labels[404:606]=2
#labels[606:]=3
	  
names = ['cats',' dogs']
	  
# convert class labels to on-hot encoding
test_lbs = np_utils.to_categorical(labels_t, num_classes_t)

#Shuffle the dataset
x_test_t, y_test_t = shuffle(img_data1, test_lbs, random_state=2)
# Split the dataset
#X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=2)


#%%

# Evaluating the model

score = model.evaluate(x_test_t, y_test_t, batch_size=10)
print('Test Loss:', score[0])
print('Test accuracy:', score[1])

test_image = X_test[0:1]
print (test_image.shape)```...

wasifkhanniaz avatar Oct 27 '17 09:10 wasifkhanniaz