parser_model = ParserModel(dep_vocab, parser_config, dep_vec) parser_model.load_state_dict(torch.load(parser_config.load_model_path, \ map_location=lambda storage, loc: storage)) vocab = creatVocab(config.train_file, config.min_occur_count) vec = vocab.load_pretrained_embs(config.pretrained_embeddings_file) pickle.dump(vocab, open(config.save_vocab_path, 'wb')) config.use_cuda = False gpu_id = -1 if gpu and args.gpu >= 0: torch.cuda.set_device(args.gpu) config.use_cuda = True print("GPU ID: ", args.gpu) gpu_id = args.gpu model = BiLSTMModel(vocab, config, parser_config, vec) if config.use_cuda: #torch.backends.cudnn.enabled = True model = model.cuda() parser_model = parser_model.cuda() classifier = SentenceClassifier(config, model, vocab, parser_model, dep_vocab) data = read_corpus(config.train_file) dev_data = read_corpus(config.dev_file) test_data = read_corpus(config.test_file) train(data, dev_data, test_data, classifier, vocab, dep_vocab, config)
config.use_cuda = False gpu_id = -1 if gpu and args.gpu != -1: config.use_cuda = True torch.cuda.set_device(args.gpu) print('GPU ID:' + str(args.gpu)) gpu_id = args.gpu print("\nGPU using status: ", config.use_cuda) elmo = ElmoEmbedder(config.elmo_option_file, config.elmo_weight_file, gpu_id) elmo_layers = elmo.elmo_bilm.num_layers elmo_dims = elmo.elmo_bilm.get_output_dim() model = BiLSTMModel(vocab, config, parser_config, vec, (elmo_layers, elmo_dims)) if config.use_cuda: torch.backends.cudnn.enabled = False model = model.cuda(args.gpu) parser_extembed = parser_extembed.cuda(args.gpu) parser_model = parser_model.cuda(args.gpu) classifier = BiSententClassifier(model, elmo, vocab, parser_model, parser_extembed) data = read_corpus(config.train_file) dev_data = read_corpus(config.dev_file) test_data = read_corpus(config.test_file) train(data, dev_data, test_data, classifier, vocab, dep_vocab, config)