Update README.md
Browse files
README.md
CHANGED
@@ -28,23 +28,54 @@ How to use this model directly from the 🤗/transformers library:
|
|
28 |
|
29 |
```python
|
30 |
from transformers import XLNetTokenizer, TFGPT2LMHeadModel
|
|
|
31 |
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
```
|
35 |
|
36 |
How to generate text
|
37 |
|
38 |
```python
|
39 |
from transformers import TextGenerationPipeline
|
40 |
-
text_generater = TextGenerationPipeline(model, tokenizer)
|
41 |
|
42 |
-
display(text_generater('今天天气不错', max_length=20))
|
43 |
-
display(text_generater('今天天气不错', max_length=20, do_sample=True, top_k=10, top_p=0.95))
|
44 |
-
display(text_generater('今天天气不错', max_length=20, do_sample=True, top_k=10, top_p=0.95, repetition_penalty=2))
|
45 |
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
```
|
49 |
|
50 |
![avatar](https://github.com/mymusise/CPM-TF2Transformer/raw/main/example-cpm.png)
|
28 |
|
29 |
```python
|
30 |
from transformers import XLNetTokenizer, TFGPT2LMHeadModel
|
31 |
+
import jieba
|
32 |
|
33 |
+
# add spicel process
|
34 |
+
class XLNetTokenizer(XLNetTokenizer):
|
35 |
+
translator = str.maketrans(" \n", "\u2582\u2583")
|
36 |
+
|
37 |
+
def _tokenize(self, text, *args, **kwargs):
|
38 |
+
text = [x.translate(self.translator) for x in jieba.cut(text, cut_all=False)]
|
39 |
+
text = " ".join(text)
|
40 |
+
return super()._tokenize(text, *args, **kwargs)
|
41 |
+
|
42 |
+
def _decode(self, *args, **kwargs):
|
43 |
+
text = super()._decode(*args, **kwargs)
|
44 |
+
text = text.replace(' ', '').replace('\u2582', ' ').replace('\u2583', '\n')
|
45 |
+
return text
|
46 |
+
|
47 |
+
|
48 |
+
tokenizer = XLNetTokenizer.from_pretrained('mymusise/CPM-GPT2')
|
49 |
+
model = TFGPT2LMHeadModel.from_pretrained("mymusise/CPM-GPT2")
|
50 |
```
|
51 |
|
52 |
How to generate text
|
53 |
|
54 |
```python
|
55 |
from transformers import TextGenerationPipeline
|
|
|
56 |
|
|
|
|
|
|
|
57 |
|
58 |
+
text_generater = TextGenerationPipeline(model, tokenizer)
|
59 |
+
|
60 |
+
texts = [
|
61 |
+
'今天天气不错',
|
62 |
+
'天下武功, 唯快不',
|
63 |
+
"""
|
64 |
+
我们在火星上发现了大量的神奇物种。有神奇的海星兽,身上是粉色的,有5条腿;有胆小的猫猫兽,橘色,有4条腿;有令人恐惧的蜈蚣兽,全身漆黑,36条腿;有纯洁的天使兽,全身洁白无瑕,有3条腿;有贪吃的汪汪兽,银色的毛发,有5条腿;有蛋蛋兽,紫色,8条腿。
|
65 |
+
|
66 |
+
请根据上文,列出一个表格,包含物种名、颜色、腿数量。
|
67 |
+
|物种名|颜色|腿数量|
|
68 |
+
|亚古兽|金黄|2|
|
69 |
+
|海星兽|粉色|5|
|
70 |
+
|猫猫兽|橘色|4|
|
71 |
+
|蜈蚣兽|漆黑|36|
|
72 |
+
"""
|
73 |
+
]
|
74 |
+
|
75 |
+
for text in texts:
|
76 |
+
token_len = len(tokenizer._tokenize(text))
|
77 |
+
print(text_generater(text, max_length=token_len + 15, top_k=1, use_cache=True, prefix='')[0]['generated_text'])
|
78 |
+
print(text_generater(text, max_length=token_len + 15, do_sample=True, top_k=5)[0]['generated_text'])
|
79 |
```
|
80 |
|
81 |
![avatar](https://github.com/mymusise/CPM-TF2Transformer/raw/main/example-cpm.png)
|