Пример #1
0
                w.write('{}\t{}\t{}\n'.format(tid, gold, 'NM'))

# ----------------------------------------------------------------------
# Mode: train
test_label_preds = {}
best_scores = {}
if mode == 'train':
    if not os.path.exists(model_dir):
        os.mkdir(model_dir)
    for target_label in labels:
        model_file = os.path.join(model_dir,
                                  'checkpoint_{}.mdl'.format(target_label))
        model = models[target_label]
        optimizer = optimizers[target_label]
        # TODO: combine init_dataset() and shuffle_dataset()
        dev_set.init_dataset(target_label)
        test_set.init_dataset(target_label)
        (
            dev_tids, dev_tokens, dev_labels, dev_lens
        ) = dev_set.get_dataset(max_seq_len, volatile=True, gpu=use_gpu)
        (
            test_tids, test_tokens, test_labels, test_lens
        ) = test_set.get_dataset(max_seq_len, volatile=True, gpu=use_gpu)

        best_dev_fscore = 0.0
        best_test_scores = None
        for epoch in range(max_epoch):
            epoch_start_time = current_time()
            epoch_loss = 0.0
            train_set.shuffle_dataset(target_label, balance=True)
            batch_num = train_set.batch_num(batch_size)