Beispiel #1
0
    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)
Beispiel #2
0
    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)