Esempio n. 1
0
                           help='Use id of gpu, -1 if cpu.')

    args, extra_args = argparser.parse_known_args()
    config = Configurable(args.config_file, extra_args)
    parser_config = ParserConfigurable(args.parser_config_file)
    torch.set_num_threads(args.thread)

    dep_vocab = pickle.load(open(parser_config.load_vocab_path, 'rb'))
    parser_model = ParserModel(dep_vocab, parser_config)
    dump_model = torch.load(parser_config.load_model_path,
                            map_location=lambda storage, loc: storage)
    dep_vec = dump_model["extword_embed.weight"].detach().cpu().numpy()
    del dump_model["extword_embed.weight"]
    parser_model.load_state_dict(dump_model)
    parser_extembed = ExtWord(dep_vocab, parser_config, dep_vec)
    torch.save(parser_model.state_dict(), config.save_model_path + ".synbasic")
    torch.save(parser_extembed.state_dict(),
               config.save_model_path + ".synvec")
    pickle.dump(dep_vocab, open(config.save_vocab_path + ".syn", 'wb'))

    vocab = creatVocab(config.train_file, config.min_occur_count)
    vec = vocab.load_initialize_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 != -1:
        config.use_cuda = True
        torch.cuda.set_device(args.gpu)
        print('GPU ID:' + str(args.gpu))
        gpu_id = args.gpu