#create models and optimizers def model_relu(): return Sequential(Linear(2,25),Relu(),Linear(25,25), Relu(),Linear(25,25), Relu(),Linear(25,2)) def model_tanh(): return Sequential(Linear(2,25),Tanh(),Linear(25,25), Tanh(), Linear(25,25), Tanh(),Linear(25,2)) def opti(model): return Optimizer.SGD(model.param(),lr = lr) def opti_mom(model): return Optimizer.SGD(model.param(), lr = lr, momentum = True, mu = mu) CE = Criterion.CrossEntropy() MSE = Criterion.MSE() ############################################################################## # test Relu vs Tanh with crossentropy ############################################################################## test(model_relu, model_tanh, opti, opti, CE, CE, "relu", "tanh", repetitions = rep, message = "Relu vs Tanh with crossentropy", plots = plots, show_plots = show_plots, title_plots = "CE", save_result_csv = save_csv, filename = "../results/csv/CE.csv") ############################################################################### # test Relu vs Tanh with crossentropy and momentum ###############################################################################
#create model model = Sequential(Linear(2, 25), Relu(), Linear(25, 25), Relu(), Linear(25, 25), Relu(), Linear(25, 2)) #create data_sets with one hot encoding for MSE train_input, train_target = generate_disc_data(one_hot_labels=True) test_input, test_target = generate_disc_data(one_hot_labels=True) #normalize the data mean, std = train_input.mean(), train_input.std() train_input.sub_(mean).div_(std) test_input.sub_(mean).div_(std) #define loss criterion = Criterion.MSE() #define optimizer optim = Optimizer.SGD(parameters=model.param(), lr=1e-1) #train the model loss, accuracy = train(model, criterion, optim, train_input, train_target, nb_epochs=200, verbose=True) #compute statistics on test output = model.forward(test_input)