Exemple #1
0
     feed_dict = {
         softmax_model.weights_placeholder: Wout.T,
         softmax_model.biases_placeholder: biases
     }
     session.run(init, feed_dict=feed_dict)
 else:
     RLS_delta = 0.000001
     RLS_lambda = 0.9999995
     SInverse = (1.0 / RLS_delta) * eye(total_res_size + input_size)
 intermediate_data = []
 for i, _ in enumerate(train_data):
     print 'calculating reservoir states on text ' + str(i + 1) + '/' + str(
         len(train_data)) + '...'
     inputs, fw_states, bw_states = [], [], []
     Xtr, Ytr, _, _, _, _ = format_data(train_data[i], embeddings,
                                        embeddings_size, output_size,
                                        window_size, synset2id, softmax)
     trainLen = len(Xtr)
     u_fw = zeros((input_size, 1))
     if use_reservoirs == "True":
         u_bw = zeros((input_size, 1))
         x_fw = zeros((res_size, 1))
         x_bw = zeros((res_size, 1))
         state_fw = zeros((res_size + input_size, 1))
         state_bw = zeros((res_size + input_size, 1))
     for t in range(trainLen):
         u_fw = reshape(asarray(Xtr[t]), (input_size, 1))
         inputs.append(u_fw)
         if use_reservoirs == "True":
             u_bw = reshape(asarray(Xtr[trainLen - 1 - t]), (input_size, 1))
             x_fw = (1 - a) * x_fw + a * tanh(
Exemple #2
0
            W_fw = cPickle.load(input_file)
            W_bw = cPickle.load(input_file)
            G_fw = cPickle.load(input_file)
            G_bw = cPickle.load(input_file)
            B_fw = cPickle.load(input_file)
            B_bw = cPickle.load(input_file)

    # test the trained ESN
    print 'Testing...'
    x = zeros((res_size, 1))
    y = zeros((outSize, 1))
    states = []
    for i, text in enumerate(test_data):
        inputs, fw_states, bw_states = [], [], []
        Xts, Yts, lemmas, synsets, pos = format_data(test_data[i], embeddings,
                                                     embeddings_size,
                                                     window_size)
        testLen = len(Xts)
        u_fw = zeros((inSize, 1))
        if use_reservoirs == "True":
            u_bw = zeros((inSize, 1))
            x_fw = zeros((res_size, 1))
            x_bw = zeros((res_size, 1))
            state_fw = zeros((res_size + inSize, 1))
            state_bw = zeros((res_size + inSize, 1))
        X = zeros((testLen, inSize + total_res_size, 1))
        Y = zeros((testLen, outSize, 1))
        inputs, fw_states, bw_states = [], [], []
        for t in range(testLen):
            u_fw = reshape(asarray(Xts[t]), (inSize, 1))
            inputs.append(u_fw)
Exemple #3
0
        rhoW_bw = max(abs(linalg.eig(W_bw)[0]))
        print 'done.'
        # W *= 1.25 / rhoW
        W_fw *= 1.25 / rhoW_fw
        W_bw *= 1.25 / rhoW_bw

    # RLS training
    print 'Calculating reservoir states...'
    RLS_delta = 0.000001
    RLS_lambda = 0.9999995
    SInverse = (1.0 / RLS_delta) * eye(total_res_size + inSize)
    intermediate_data = []
    for i,_ in enumerate(train_data):
        print 'calculating reservoir states on text ' + str(i+1) + '/' + str(len(train_data)) + '...'
        inputs, fw_states, bw_states = [], [], []
        Xtr, Ytr,_, _, _, _ = format_data(train_data[i], embeddings, embeddings_size, window_size)
        trainLen = len(Xtr)
        u_fw = zeros((inSize, 1))
        if use_reservoirs == "True":
            u_bw = zeros((inSize, 1))
            x_fw = zeros((res_size, 1))
            x_bw = zeros((res_size, 1))
            state_fw = zeros((res_size + inSize, 1))
            state_bw = zeros((res_size + inSize, 1))
        for t in range(trainLen):
            u_fw = reshape(asarray(Xtr[t]), (inSize, 1))
            inputs.append(u_fw)
            if use_reservoirs == "True":
                u_bw = reshape(asarray(Xtr[trainLen-1-t]), (inSize, 1))
                x_fw = (1 - a) * x_fw + a * tanh(dot(Win_fw, u_fw) + dot(W_fw, x_fw))
                x_bw = (1 - a) * x_bw + a * tanh(dot(Win_bw, u_bw) + dot(W_bw, x_bw))
Exemple #4
0
            Wout = cPickle.load(input_file)
        if use_reservoirs == "True":
            Win_fw = cPickle.load(input_file)
            Win_bw = cPickle.load(input_file)
            W_fw = cPickle.load(input_file)
            W_bw = cPickle.load(input_file)


    # test the trained ESN
    print 'Testing...'
    x = zeros((res_size, 1))
    y=zeros((output_size ,1))
    states = []
    for i, text in enumerate(test_data):
        inputs, fw_states, bw_states = [], [], []
        Xts, Yts, lemmas, synsets, pos, term_id = format_data(test_data[i], embeddings, embeddings_size, output_size,
                                                              window_size, synset2id, softmax)
        testLen = len(Xts)
        u_fw = zeros((input_size, 1))
        if use_reservoirs == "True":
            u_bw = zeros((input_size, 1))
            x_fw = zeros((res_size, 1))
            x_bw = zeros((res_size, 1))
            state_fw = zeros((res_size + input_size, 1))
            state_bw = zeros((res_size + input_size, 1))
        X = zeros((testLen, input_size + total_res_size, 1))
        Y = zeros((testLen, output_size, 1))
        inputs, fw_states, bw_states = [], [], []
        for t in range(testLen):
            u_fw = reshape(asarray(Xts[t]), (input_size, 1))
            inputs.append(u_fw)
            if use_reservoirs == "True":