File size: 1,080 Bytes
4fb86de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import gradio as gr
import torch
from translation import translate, load_model, load_vocab

MAX_SEQ_LEN = 60
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
MODEL_PATH = "./translation/model.pth"  # 模型权重路径
SRC_VOCAB_PATH = "./translation/word2int_en.json"  # 英文词汇表路径
TGT_VOCAB_PATH = "./translation/word2int_cn.json"  # 中文词汇表路径

# 加载词汇表
src_vocab = load_vocab(SRC_VOCAB_PATH)
tgt_vocab = load_vocab(TGT_VOCAB_PATH)

# 加载模型
model = load_model(MODEL_PATH, len(src_vocab), len(tgt_vocab))

# 翻译函数包装为 Gradio 接口
def translate_sentence(input_sentence):
    return translate(model, input_sentence, src_vocab, tgt_vocab, MAX_SEQ_LEN)

# 创建 Gradio 接口
iface = gr.Interface(
    fn=translate_sentence,
    inputs=gr.Textbox(lines=2, placeholder="Enter English sentence here..."),
    outputs=gr.Textbox(),
    title="NLP作业:基于Tranformer的机器翻译系统",
    description="输入英文输出中文喵",
)
# 启动 Gradio 应用
iface.launch()