예제 #1
0
#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
###############################################################################
예제 #2
0
#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)