Views
No views yet
pip install git+https://github.com/PaddlePaddle/PaddleNLP.git./roformer_chinese_base/pytorch_model.bin1python convert.py \
2 --pytorch_checkpoint_path ./roformer_chinese_base/pytorch_model.bin \
3 --paddle_dump_path ./roformer_chinese_base/model_state.pdparams./roformer_chinese_base/model_state.pdparams1import paddle
2import argparse
3from paddlenlp.transformers import RoFormerForPretraining, RoFormerTokenizer
4
5def test_mlm(text, model_name):
6 model = RoFormerForPretraining.from_pretrained(model_name)
7 model.eval()
8 tokenizer = RoFormerTokenizer.from_pretrained(model_name)
9 tokens = ["[CLS]"]
10 text_list = text.split("[MASK]")
11 for i,t in enumerate(text_list):
12 tokens.extend(tokenizer.tokenize(t))
13 if i==len(text_list)-1:
14 tokens.extend(["[SEP]"])
15 else:
16 tokens.extend(["[MASK]"])
17
18 input_ids_list = tokenizer.convert_tokens_to_ids(tokens)
19 input_ids = paddle.to_tensor([input_ids_list])
20
21 with paddle.no_grad():
22 pd_outputs = model(input_ids)[0][0]
23 pd_outputs_sentence = "paddle: "
24 for i, id in enumerate(input_ids_list):
25 if id == tokenizer.convert_tokens_to_ids(["[MASK]"])[0]:
26 tokens = tokenizer.convert_ids_to_tokens(pd_outputs[i].topk(5)[1].tolist())
27 pd_outputs_sentence += "[" + "||".join(tokens) + "]"
28 else:
29 pd_outputs_sentence += "".join(
30 tokenizer.convert_ids_to_tokens([id], skip_special_tokens=True)
31 )
32 print(pd_outputs_sentence)
33
34if __name__ == "__main__":
35 parser = argparse.ArgumentParser()
36 parser.add_argument(
37 "--model_name", default="roformer-chinese-base", type=str, help="Pretrained roformer name or path."
38 )
39 parser.add_argument(
40 "--text", default="今天[MASK]很好,我想去公园玩!", type=str, help="MLM text."
41 )
42 args = parser.parse_args()
43 test_mlm(text=args.text, model_name=args.model_name)
441python test_mlm.py --model_name roformer-chinese-base --text 今天[MASK]很好,我想去公园玩!
2# paddle: 今天[天气||天||阳光||太阳||空气]很好,我想去公园玩!
3python test_mlm.py --model_name roformer-chinese-base --text 北京是[MASK]的首都!
4# paddle: 北京是[中国||谁||中华人民共和国||我们||中华民族]的首都!
5python test_mlm.py --model_name roformer-chinese-char-base --text 今天[MASK]很好,我想去公园玩!
6# paddle: 今天[天||气||都||风||人]很好,我想去公园玩!
7python test_mlm.py --model_name roformer-chinese-char-base --text 北京是[MASK]的首都!
8# paddle: 北京是[谁||我||你||他||国]的首都!