示例#1
0
use_gpu = args.gpu > 0 and torch.cuda.device_count() > 0
if use_gpu and args.device:
    print('Select GPU {}'.format(args.device))
    torch.cuda.set_device(args.device)


assert mode in ['train', 'test', 'predict'], 'Unknown mode: {}'.format(mode)

# ----------------------------------------------------------------------
# Load data
if mode == 'train':
    train_set = Dataset(train_file, labels=labels)
    dev_set = Dataset(dev_file, labels=labels)
    test_set = Dataset(test_file, labels=labels)

    train_token_count, train_label_count = train_set.data_stats()
    dev_token_count, dev_label_count = dev_set.data_stats()
    test_token_count, test_label_count = test_set.data_stats()

    token_vocab = {'$UNK$': 0}
    label_vocab = {'NM': 0}
    for t in list(train_token_count.keys()) \
            + list(dev_token_count.keys()) + list(test_token_count.keys()):
        if t not in token_vocab:
            token_vocab[t] = len(token_vocab)
    for l in list(train_label_count.keys()) \
            + list(dev_label_count.keys()) + list(test_label_count.keys()):
        if l not in label_vocab:
            label_vocab[l] = len(label_vocab)

    train_set.token_vocab = token_vocab