def eval():
    # Load vocabularies.
    nl_vocab_path = os.path.join(FLAGS.data_dir,
                                 "vocab%d.nl" % FLAGS.nl_vocab_size)
    cm_vocab_path = os.path.join(FLAGS.data_dir,
                                 "vocab%d.cm.ast" % FLAGS.cm_vocab_size)
    nl_vocab, rev_nl_vocab = data_utils.initialize_vocabulary(nl_vocab_path)
    cm_vocab, rev_cm_vocab = data_utils.initialize_vocabulary(cm_vocab_path)

    train_set, dev_set, _ = load_data()
    model = knn.KNNModel()
    model.train(train_set)
    eval_tools.eval_set(model_name, dev_set, rev_nl_vocab, FLAGS)
def eval(data_set, model_sig=None, verbose=True):
    with tf.Session(config=tf.ConfigProto(allow_soft_placement=True,
        log_device_placement=FLAGS.log_device_placement)) as sess:
        if model_sig is None:
            _, model_sig = graph_utils.get_model_signature(FLAGS)
        print("evaluate " + model_sig + "...")
        _, rev_nl_vocab, _, rev_cm_vocab = data_utils.load_vocab(FLAGS)

        return eval_tools.eval_set(model_sig, data_set, rev_nl_vocab, FLAGS,
                                   verbose=verbose)