sess.run(tf.global_variables_initializer())
    for epoch in range(num_epoch):
        for _ in range(num_batch_per_epoch):
            batch = data.get_train_batch(batch_size)
            batch_X = [
                np.array([wv[w] for w in tweet.words]) for tweet in batch
            ]
            batch_y = [int(tweet.label == "bull") for tweet in batch]
            _, _ = rnn.train(batch_X, batch_y, sess)

        ## accuracy check, train, valid, test sets
        train_X = [
            np.array([wv[w] for w in tweet.words]) for tweet in data.train
        ]
        train_y = [int(tweet.label == "bull") for tweet in data.train]
        train_ent, train_acc = rnn.cal_accuracy(train_X, train_y, sess)

        valid_X = [
            np.array([wv[w] for w in tweet.words]) for tweet in data.valid
        ]
        valid_y = [int(tweet.label == "bull") for tweet in data.valid]
        _, valid_acc = rnn.cal_accuracy(valid_X, valid_y, sess)

        test_X = [
            np.array([wv[w] for w in tweet.words]) for tweet in data.test
        ]
        test_y = [int(tweet.label == "bull") for tweet in data.test]
        _, test_acc = rnn.cal_accuracy(test_X, test_y, sess)

        print("Current epoch", epoch, "\tCross entropy", train_ent,
              "\tTraining accuracy", train_acc, "\tValidate accuracy",
Example #2
0
    rnn = RNN("gru", hidden_size, embedding_size, lr=lr)
    rnn.build_graph(embedding=True, vocab_size=len(w2i), embedding_size=100)

    sess = tf.Session()
    sess.run(tf.global_variables_initializer())
    for epoch in range(num_epoch):
        for _ in range(num_batch_per_epoch):
            batch = data.get_train_batch(batch_size)
            batch_X = [np.array(tweet.word_indexes) for tweet in batch]
            batch_y = [int(tweet.label=="bull") for tweet in batch]
            _, _= rnn.train(batch_X, batch_y, sess, embedding=True)

        ## accuracy check, train, valid, test sets
        train_X = [np.array(tweet.word_indexes) for tweet in data.train]
        train_y = [int(tweet.label == "bull") for tweet in data.train]
        train_ent, train_acc = rnn.cal_accuracy(train_X, train_y, sess, embedding=True)

        valid_X = [np.array(tweet.word_indexes) for tweet in data.valid]
        valid_y = [int(tweet.label == "bull") for tweet in data.valid]
        _, valid_acc = rnn.cal_accuracy(valid_X, valid_y, sess, embedding=True)

        test_X = [np.array(tweet.word_indexes) for tweet in data.test]
        test_y = [int(tweet.label == "bull") for tweet in data.test]
        _, test_acc = rnn.cal_accuracy(test_X, test_y, sess, embedding=True)

        print("Current epoch", epoch, "\tCross entropy", train_ent,
              "\tTraining accuracy", train_acc,
              "\tValidate accuracy", valid_acc,
              "\tTest accuracy", test_acc)