from dlmnn.data.get_img_data import get_dataset from dlmnn.LMNN import lmnn from dlmnn.LMNNSequential import sequental_lmnn from dlmnn.helper.argparser import lmnn_argparser import numpy as np #%% if __name__ == '__main__': # Input arguments args = lmnn_argparser() print(args) # Get some data x_train, y_train, x_test, y_test = get_dataset(args.dataset) input_shape=x_train.shape[1:] # Constants baseMapNum = 32 weight_decay = 1e-4 num_classes = len(np.unique(y_train)) # Normalize data mean = np.mean(x_train,axis=(0,1,2,3)) std = np.std(x_train,axis=(0,1,2,3)) x_train = (x_train-mean)/(std+1e-7) x_test = (x_test-mean)/(std+1e-7) if args.model_type == 'softmax': y_train = utils.to_categorical(y_train,num_classes)
#%% from dlmnn import sequental_lmnn from dlmnn.helper.argparser import lmnn_argparser from dlmnn.helper.layers import InputLayer, Flatten, Conv2D, MaxPool2D, \ Dense, LeakyReLU from dlmnn.data.get_img_data import get_dataset #%% if __name__ == '__main__': # Get input arguments args = lmnn_argparser() print(args) # Get some data X_train, y_train, X_test, y_test = get_dataset('cifar10') input_shape = X_train.shape[1:] # Add layers to model model = sequental_lmnn() model.add(InputLayer, input_shape=input_shape) model.add(Conv2D, filters=16, kernel_size=(3, 3), padding='same') model.add(LeakyReLU, alpha=0.3) model.add(MaxPool2D, pool_size=(2, 2)) model.add(Conv2D, filters=32, kernel_size=(3, 3), padding='same') model.add(LeakyReLU, alpha=0.3) model.add(MaxPool2D, pool_size=(2, 2)) model.add(Conv2D, filters=64, kernel_size=(3, 3), padding='same') model.add(LeakyReLU, alpha=0.3) model.add(MaxPool2D, pool_size=(2, 2)) model.add(Flatten)
if __name__ == '__main__': # Allocate array for results performance = np.zeros((5, ), dtype=np.float32) pred1, pred2, pred3, pred4, pred5 = [ ], [ ], [ ], [ ], [ ] # Get input arguments args = argparser() dataset = args['dataset'] k = args['k'] maxEpochs = args['e'] name = args['n'] margin = args['m'] mu = args['w'] # Get data X_train, y_train, X_test, y_test = get_dataset(dataset) input_shape = X_train.shape[1:] n_class = len(np.unique(y_train)) print(70*'=') print(dataset) print(70*'=') ############################## MODEL 1 ################################ ############################## KNN classifier ######################### pred = knnClassifier(X_test, X_train, y_train, k=k) acc = np.mean(pred==y_test) # Save results pred1.append(pred) performance[0] = acc