Spaces:
Running
Running
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() |