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