예제 #1
0
data_target_sh = theano.shared(np.asarray(data_target,
                                          dtype=theano.config.floatX),
                               borrow=True)

batch_size = 70
num_batches = num_cases / batch_size
max_epoch = 50
train_params = {
    'batch_size': batch_size,
    'learning_rate': 0.01,
    'cd_steps': 5,
    'max_epoch': max_epoch,
    'persistent': True,
    'learning_rate_line': 0.0001,
    'finetune_learning_rate': 0.1
}

stack_rbm = RBMStack(num_vis=num_vis, hid_layers_size=[500])
if not load_from_file(stack_rbm, train_params):
    stack_rbm.pretrain(data_sh, train_params)
    save_to_file(stack_rbm, train_params)

print_top_to_file(sent_ae, "pre_train", data_sh, data_target, range(0, 999))
fine_tune = sent_ae.finetune_fun(data_sh, train_params)
for ep in xrange(0, max_epoch):
    for b in xrange(0, num_batches):
        cost = fine_tune(b)
        print "Epoch # %d:%d cost: %f" % (ep, b, cost)

print_top_to_file(sent_ae, "fine_tune", data_sh, data_target, range(0, 999))
예제 #2
0
            data_train[i,0:l] = case_arr
            i+=1
            del hist[:]
            if i == num_cases:
                break
        else:
            hist.append(case[:-1])
    return data_train

data_train = preprocess()
data_train_sh = theano.shared(np.asarray(data_train, dtype=theano.config.floatX), borrow=True) 

rbms = RBMStack(hid_layers_size = [15], bottomRBMtype = RBMMultSoftmax, add_opts = { 'num_units' : num_units, 'unit_size' : unit_size })

train_params = { 'max_epoch' : 50, 'batch_size' : 50, 'learning_rate' : 0.001, 'cd_steps' : 15, 'persistent' : True} 
rbms.pretrain(data_train_sh, train_params)

rbm = rbms.stack[0]
rbm.save_model()

def evaluate(data):
    def softmax(w):
        e = np.exp(w)
        dist = e / np.sum(e)
        return dist

    w = rbm.W.get_value(borrow=True)
    vbias = rbm.vbias.get_value(borrow=True)
    hbias = rbm.hbias.get_value(borrow=True)
     
    for batch_n in xrange(0,1): #, data.shape[0]/50): 
예제 #3
0
train_data_sh, train_data_t_sh = make_theano_dataset((train_data, train_data_t))
valid_data_sh, valid_data_t_sh = make_theano_dataset((valid_data, valid_data_t))
test_data_sh, test_data_t_sh = (None, None) #make_theano_dataset((test_data, test_data_t))

train_data_wp_sh, train_data_wp_t_sh = make_theano_dataset((data_wo_p, data_target_wo_p))

datasets = [(train_data_sh, train_data_t_sh),(valid_data_sh, valid_data_t_sh),(test_data_sh, test_data_t_sh)]

batch_size = 100
max_epoch = 30
train_params = {'batch_size' : batch_size, 'learning_rate' : 0.1, 'cd_steps' : 10, 'max_epoch' : max_epoch, 'persistent' : True, 'cd_steps_line' : 1, 'learning_rate_line' : 0.001, 'finetune_learning_rate' : 0.1, 'validation_frequency' : batch_size }


stack_rbm = RBMStack(num_vis = num_vis, hid_layers_size = hid_layers_size)

if not load_from_file(stack_rbm, train_params):
    stack_rbm.pretrain(data_sh, train_params)
    save_to_file(stack_rbm, train_params)


dbn = DBN(stack_rbm, 2)
#dbn.finetune(datasets, train_params)
#ae = AutoEncoder(stack_rbm, 100)
#ae.pretrain(train_data_sh, train_params)
#ae.finetune(train_data_sh, train_params)

get_output = theano.function([], dbn.stack[-1].output, givens=[(dbn.input,train_data_sh)])
out = get_output()
np.savetxt("/home/alexeyche/prog/sentiment/out.tsv", train_data, delimiter="\t")
np.savetxt("/home/alexeyche/prog/sentiment/answer.tsv",train_data_t,delimiter=",")
예제 #4
0
rbms = RBMStack(hid_layers_size=[15],
                bottomRBMtype=RBMMultSoftmax,
                add_opts={
                    'num_units': num_units,
                    'unit_size': unit_size
                })

train_params = {
    'max_epoch': 50,
    'batch_size': 50,
    'learning_rate': 0.001,
    'cd_steps': 15,
    'persistent': True
}
rbms.pretrain(data_train_sh, train_params)

rbm = rbms.stack[0]
rbm.save_model()


def evaluate(data):
    def softmax(w):
        e = np.exp(w)
        dist = e / np.sum(e)
        return dist

    w = rbm.W.get_value(borrow=True)
    vbias = rbm.vbias.get_value(borrow=True)
    hbias = rbm.hbias.get_value(borrow=True)