Spaces:
Runtime error
Runtime error
| from transformers import ( | |
| EncoderDecoderModel, | |
| AutoTokenizer | |
| ) | |
| import torch | |
| import streamlit as st | |
| PRETRAINED = "raynardj/wenyanwen-chinese-translate-to-ancient" | |
| def inference(text): | |
| tk_kwargs = dict( | |
| truncation=True, | |
| max_length=128, | |
| padding="max_length", | |
| return_tensors='pt') | |
| inputs = tokenizer([text,],**tk_kwargs) | |
| with torch.no_grad(): | |
| return tokenizer.batch_decode( | |
| model.generate( | |
| inputs.input_ids, | |
| attention_mask=inputs.attention_mask, | |
| num_beams=3, | |
| bos_token_id=101, | |
| eos_token_id=tokenizer.sep_token_id, | |
| pad_token_id=tokenizer.pad_token_id, | |
| ), skip_special_tokens=True)[0].replace(" ","") | |
| st.title("🪕古朴 ❄️清雅 🌊壮丽") | |
| st.markdown(""" | |
| > Translate from Chinese to Ancient Chinese / 还你古朴清雅壮丽的文言文, | |
| * 一个transformer神经网络的现代文向文言文的自动翻译引擎。训练的代码在[这里](https://github.com/raynardj/yuan), 喜欢加⭐️ | |
| * 最多100个中文字符 | |
| """) | |
| def load_model(): | |
| tokenizer = AutoTokenizer.from_pretrained(PRETRAINED) | |
| model = EncoderDecoderModel.from_pretrained(PRETRAINED) | |
| return tokenizer, model | |
| tokenizer, model = load_model() | |
| text = st.text_area(value="轻轻地我走了,正如我轻轻地来。我挥一挥衣袖,不带走一片云彩。", label="输入文本") | |
| if st.button("曰"): | |
| if len(text) > 100: | |
| st.error("无过百字,若过则当答此言。") | |
| else: | |
| st.write(inference(text)) | |