bkhmsi's picture
pdd working now
ebc546a
raw
history blame
1.92 kB
import os
import yaml
import gdown
import gradio as gr
from predict import PredictTri
from gradio import blocks
output_path = "tashkeela-d2.pt"
if not os.path.exists(output_path):
model_gdrive_id = "1FGelqImFkESbTyRsx_elkKIOZ9VbhRuo"
gdown.download(id=model_gdrive_id, output=output_path, quiet=False)
output_path = "vocab.vec"
if not os.path.exists(output_path):
vocab_gdrive_id = "1-0muGvcSYEf8RAVRcwXay4MRex6kmCii"
gdown.download(id=vocab_gdrive_id, output=output_path, quiet=False)
with open("config.yaml", 'r', encoding="utf-8") as file:
config = yaml.load(file, Loader=yaml.FullLoader)
config["train"]["max-sent-len"] = config["predictor"]["window"]
config["train"]["max-token-count"] = config["predictor"]["window"] * 3
def diacritze(text, do_partial):
predictor = PredictTri(config, text)
diacritized_lines = predictor.predict_partial(do_partial=do_partial)
return diacritized_lines
with gr.Blocks() as demo:
gr.Markdown(
"""
# Partial Diacritization: A Context-Contrastive Inference Approach
## Authors: Muhammad ElNokrashy, Badr AlKhamissi
""")
check_box = gr.Checkbox(label="Partial", info="Apply Partial Diacritics or Full Diacritics")
input_txt = gr.Textbox(
placeholder="اكتب هنا",
lines=5,
label="Input",
type='text',
rtl=True,
text_align='right',
)
output_txt = gr.Textbox(
lines=5,
label="Output",
type='text',
rtl=True,
text_align='right',
)
btn = gr.Button(value="Shakkel")
btn.click(diacritze, inputs=[input_txt, check_box], outputs=[output_txt])
if __name__ == "__main__":
demo.queue().launch(
# share=False,
# debug=False,
# server_port=7860,
# server_name="0.0.0.0",
# ssl_verify=False,
# ssl_certfile="cert.pem",
# ssl_keyfile="key.pem"
)